$ -weight: 500;">npm test -- --watchAll=false
-weight: 500;">npm test -- --watchAll=false
-weight: 500;">npm test -- --watchAll=false
trigger: branches: include: - main pool: name: SelfHostedPool stages: - stage: Build jobs: - job: BuildJob steps: - checkout: self - task: NodeTool@0 inputs: versionSpec: '18.x' - script: | -weight: 500;">npm -weight: 500;">install -weight: 500;">npm run build displayName: Build React App - publish: build artifact: react_build - stage: Test dependsOn: Build jobs: - job: TestJob steps: - task: NodeTool@0 inputs: versionSpec: '18.x' - script: | -weight: 500;">npm -weight: 500;">install -weight: 500;">npm test -- --watchAll=false displayName: Run Tests - stage: Publish dependsOn: Test jobs: - job: PublishJob steps: - download: current artifact: react_build - script: ls $(Pipeline.Workspace)/react_build displayName: Verify Artifact Contents - stage: Deploy dependsOn: Publish jobs: - job: DeployJob steps: - download: current artifact: react_build - task: CopyFilesOverSSH@0 inputs: sshEndpoint: 'ubuntu-nginx-ssh-react' sourceFolder: '$(Pipeline.Workspace)/react_build' contents: '**' targetFolder: '/var/www/html' cleanTargetFolder: true - task: SSH@0 inputs: sshEndpoint: 'ubuntu-nginx-ssh-react' runOptions: 'inline' inline: '-weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">restart nginx'
trigger: branches: include: - main pool: name: SelfHostedPool stages: - stage: Build jobs: - job: BuildJob steps: - checkout: self - task: NodeTool@0 inputs: versionSpec: '18.x' - script: | -weight: 500;">npm -weight: 500;">install -weight: 500;">npm run build displayName: Build React App - publish: build artifact: react_build - stage: Test dependsOn: Build jobs: - job: TestJob steps: - task: NodeTool@0 inputs: versionSpec: '18.x' - script: | -weight: 500;">npm -weight: 500;">install -weight: 500;">npm test -- --watchAll=false displayName: Run Tests - stage: Publish dependsOn: Test jobs: - job: PublishJob steps: - download: current artifact: react_build - script: ls $(Pipeline.Workspace)/react_build displayName: Verify Artifact Contents - stage: Deploy dependsOn: Publish jobs: - job: DeployJob steps: - download: current artifact: react_build - task: CopyFilesOverSSH@0 inputs: sshEndpoint: 'ubuntu-nginx-ssh-react' sourceFolder: '$(Pipeline.Workspace)/react_build' contents: '**' targetFolder: '/var/www/html' cleanTargetFolder: true - task: SSH@0 inputs: sshEndpoint: 'ubuntu-nginx-ssh-react' runOptions: 'inline' inline: '-weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">restart nginx'
trigger: branches: include: - main pool: name: SelfHostedPool stages: - stage: Build jobs: - job: BuildJob steps: - checkout: self - task: NodeTool@0 inputs: versionSpec: '18.x' - script: | -weight: 500;">npm -weight: 500;">install -weight: 500;">npm run build displayName: Build React App - publish: build artifact: react_build - stage: Test dependsOn: Build jobs: - job: TestJob steps: - task: NodeTool@0 inputs: versionSpec: '18.x' - script: | -weight: 500;">npm -weight: 500;">install -weight: 500;">npm test -- --watchAll=false displayName: Run Tests - stage: Publish dependsOn: Test jobs: - job: PublishJob steps: - download: current artifact: react_build - script: ls $(Pipeline.Workspace)/react_build displayName: Verify Artifact Contents - stage: Deploy dependsOn: Publish jobs: - job: DeployJob steps: - download: current artifact: react_build - task: CopyFilesOverSSH@0 inputs: sshEndpoint: 'ubuntu-nginx-ssh-react' sourceFolder: '$(Pipeline.Workspace)/react_build' contents: '**' targetFolder: '/var/www/html' cleanTargetFolder: true - task: SSH@0 inputs: sshEndpoint: 'ubuntu-nginx-ssh-react' runOptions: 'inline' inline: '-weight: 600;">sudo -weight: 500;">systemctl -weight: 500;">restart nginx'
Welcome to My React App (Finance APP)
Deployed by: Vivian Chiamaka Okose | Date: 08/04/2026
Welcome to My React App (Finance APP)
Deployed by: Vivian Chiamaka Okose | Date: 08/04/2026
Welcome to My React App (Finance APP)
Deployed by: Vivian Chiamaka Okose | Date: 08/04/2026