From 9457f34f6f42f2d0e9efd00604f81142aaac43e3 Mon Sep 17 00:00:00 2001 From: Javier Date: Fri, 22 Mar 2024 15:34:47 +0200 Subject: [PATCH] Updated Africa, Asia and UE pipelines to restart pm2 properly --- azure-pipelines-africa.yml | 257 ++++++++++++++++++------------------- azure-pipelines-asia.yml | 257 ++++++++++++++++++------------------- azure-pipelines-eu.yml | 257 ++++++++++++++++++------------------- 3 files changed, 381 insertions(+), 390 deletions(-) diff --git a/azure-pipelines-africa.yml b/azure-pipelines-africa.yml index d3810dd6c..fc589b1de 100644 --- a/azure-pipelines-africa.yml +++ b/azure-pipelines-africa.yml @@ -1,137 +1,134 @@ #Works trigger: -- none + - none pool: - vmImage: ubuntu-latest + vmImage: ubuntu-latest stages: - -- stage: Build_africa - displayName: Build stage africa - jobs: - - job: Build_africa - steps: - - - task: DownloadSecureFile@1 - displayName: 'download AFRICA backendend' - inputs: - secureFile: 'BACKEND_ENV_FILE_AFRICA' # string. Required. Secure File. - - - task: CopyFiles@2 - displayName: 'copy africa backendend' - inputs: - SourceFolder: '$(Agent.TempDirectory)' - Contents: BACKEND_ENV_FILE_AFRICA - TargetFolder: './backend' - - - script: mv ./backend/BACKEND_ENV_FILE_AFRICA ./backend/.env - displayName: 'rename africa .env' - - task: DownloadSecureFile@1 - displayName: 'download africa frontend' - inputs: - secureFile: 'FRONTEND_ENV_FILE_AFRICA' # string. Required. Secure File. - - - task: CopyFiles@2 - displayName: 'copy africa frontend' - inputs: - SourceFolder: '$(Agent.TempDirectory)' - Contents: FRONTEND_ENV_FILE_AFRICA - TargetFolder: './frontend' - - - script: mv ./frontend/FRONTEND_ENV_FILE_AFRICA ./frontend/.env - displayName: 'rename africa .env' - - - script: ls -a ./frontend - displayName: 'ls' - - - script: ls -Rn - displayName: 'ls' - - - task: NodeTool@0 - inputs: - versionSpec: '12.20.1' - displayName: 'Install Node.js' - - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - node -v - npm -v - npm install - npm run build - - - task: ArchiveFiles@2 - displayName: 'Archive files' - inputs: - rootFolderOrFile: '$(System.DefaultWorkingDirectory)' - includeRootFolder: false - archiveType: zip - archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip - replaceExistingArchive: true - - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip - artifact: drop_africa - - - deployment: VMDeploy_AFRICA - dependsOn: Build_africa - displayName: DEPLOY AFRICA - environment: - name: PROD - resourceType: VirtualMachine - tags: africa - strategy: - runOnce: - preDeploy: - steps: - - task: DownloadPipelineArtifact@2 - inputs: - buildType: 'current' - artifactName: drop_africa - targetPath: '$(Pipeline.Workspace)/drop_africa' - - - script: echo initialize, cleanup, backup, install certs - - deploy: - steps: - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - # Modify deployment script based on the app type - echo "Starting deployment script run" - - - - task: ExtractFiles@1 - inputs: - archiveFilePatterns: '$(Pipeline.Workspace)/drop_africa/$(Build.BuildId).zip' - destinationFolder: '$(Pipeline.Workspace)/japp' - cleanDestinationFolder: true - overwriteExistingFiles: true - - - task: DeleteFiles@1 - inputs: - SourceFolder: '$(Pipeline.Workspace)/drop_africa' - Contents: '$(Build.BuildId).zip' - - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - cd /home/azureuser/azagent/_work/2/japp - pm2 restart index - sudo systemctl restart nginx - - routeTraffic: - steps: - - script: echo routing traffic - postRouteTraffic: - steps: - - script: echo health check post-route traffic - on: - failure: - steps: - - script: echo Restore from backup! This is on failure - success: + - stage: Build_africa + displayName: Build stage africa + jobs: + - job: Build_africa steps: - - script: echo Notify! This is on success + - task: DownloadSecureFile@1 + displayName: 'download AFRICA backendend' + inputs: + secureFile: 'BACKEND_ENV_FILE_AFRICA' # string. Required. Secure File. + + - task: CopyFiles@2 + displayName: 'copy africa backendend' + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: BACKEND_ENV_FILE_AFRICA + TargetFolder: './backend' + + - script: mv ./backend/BACKEND_ENV_FILE_AFRICA ./backend/.env + displayName: 'rename africa .env' + - task: DownloadSecureFile@1 + displayName: 'download africa frontend' + inputs: + secureFile: 'FRONTEND_ENV_FILE_AFRICA' # string. Required. Secure File. + + - task: CopyFiles@2 + displayName: 'copy africa frontend' + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: FRONTEND_ENV_FILE_AFRICA + TargetFolder: './frontend' + + - script: mv ./frontend/FRONTEND_ENV_FILE_AFRICA ./frontend/.env + displayName: 'rename africa .env' + + - script: ls -a ./frontend + displayName: 'ls' + + - script: ls -Rn + displayName: 'ls' + + - task: NodeTool@0 + inputs: + versionSpec: '12.20.1' + displayName: 'Install Node.js' + + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + node -v + npm -v + npm install + npm run build + + - task: ArchiveFiles@2 + displayName: 'Archive files' + inputs: + rootFolderOrFile: '$(System.DefaultWorkingDirectory)' + includeRootFolder: false + archiveType: zip + archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip + replaceExistingArchive: true + - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip + artifact: drop_africa + + - deployment: VMDeploy_AFRICA + dependsOn: Build_africa + displayName: DEPLOY AFRICA + environment: + name: PROD + resourceType: VirtualMachine + tags: africa + strategy: + runOnce: + preDeploy: + steps: + - task: DownloadPipelineArtifact@2 + inputs: + buildType: 'current' + artifactName: drop_africa + targetPath: '$(Pipeline.Workspace)/drop_africa' + + - script: echo initialize, cleanup, backup, install certs + + deploy: + steps: + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + # Modify deployment script based on the app type + echo "Starting deployment script run" + + - task: ExtractFiles@1 + inputs: + archiveFilePatterns: '$(Pipeline.Workspace)/drop_africa/$(Build.BuildId).zip' + destinationFolder: '$(Pipeline.Workspace)/japp' + cleanDestinationFolder: true + overwriteExistingFiles: true + + - task: DeleteFiles@1 + inputs: + SourceFolder: '$(Pipeline.Workspace)/drop_africa' + Contents: '$(Build.BuildId).zip' + + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + cd /home/azureuser/azagent/_work/3/japp + pm2 restart index + sudo systemctl restart nginx + + routeTraffic: + steps: + - script: echo routing traffic + postRouteTraffic: + steps: + - script: echo health check post-route traffic + on: + failure: + steps: + - script: echo Restore from backup! This is on failure + success: + steps: + - script: echo Notify! This is on success diff --git a/azure-pipelines-asia.yml b/azure-pipelines-asia.yml index 8f78cdb7a..bfe825e8b 100644 --- a/azure-pipelines-asia.yml +++ b/azure-pipelines-asia.yml @@ -1,137 +1,134 @@ # Works trigger: -- none + - none pool: - vmImage: ubuntu-latest + vmImage: ubuntu-latest stages: - -- stage: Build_asia - displayName: Build stage asia - jobs: - - job: Build_asia - steps: - - - task: DownloadSecureFile@1 - displayName: 'download ASIA backendend' - inputs: - secureFile: 'BACKEND_ENV_FILE_ASIA' # string. Required. Secure File. - - - task: CopyFiles@2 - displayName: 'copy asia backendend' - inputs: - SourceFolder: '$(Agent.TempDirectory)' - Contents: BACKEND_ENV_FILE_ASIA - TargetFolder: './backend' - - - script: mv ./backend/BACKEND_ENV_FILE_ASIA ./backend/.env - displayName: 'rename asia .env' - - task: DownloadSecureFile@1 - displayName: 'download asia frontend' - inputs: - secureFile: 'FRONTEND_ENV_FILE_ASIA' # string. Required. Secure File. - - - task: CopyFiles@2 - displayName: 'copy asia frontend' - inputs: - SourceFolder: '$(Agent.TempDirectory)' - Contents: FRONTEND_ENV_FILE_ASIA - TargetFolder: './frontend' - - - script: mv ./frontend/FRONTEND_ENV_FILE_ASIA ./frontend/.env - displayName: 'rename asia .env' - - - script: ls -a ./frontend - displayName: 'ls' - - - script: ls -Rn - displayName: 'ls' - - - task: NodeTool@0 - inputs: - versionSpec: '12.20.1' - displayName: 'Install Node.js' - - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - node -v - npm -v - npm install - npm run build - - - task: ArchiveFiles@2 - displayName: 'Archive files' - inputs: - rootFolderOrFile: '$(System.DefaultWorkingDirectory)' - includeRootFolder: false - archiveType: zip - archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip - replaceExistingArchive: true - - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip - artifact: drop_asia - - - deployment: VMDeploy_ASIA - dependsOn: Build_asia - displayName: DEPLOY ASIA - environment: - name: PROD - resourceType: VirtualMachine - tags: asia - strategy: - runOnce: - preDeploy: - steps: - - task: DownloadPipelineArtifact@2 - inputs: - buildType: 'current' - artifactName: drop_asia - targetPath: '$(Pipeline.Workspace)/drop' - - - script: echo initialize, cleanup, backup, install certs - - deploy: - steps: - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - # Modify deployment script based on the app type - echo "Starting deployment script run" - - - - task: ExtractFiles@1 - inputs: - archiveFilePatterns: '$(Pipeline.Workspace)/drop_asia/$(Build.BuildId).zip' - destinationFolder: '$(Pipeline.Workspace)/japp' - cleanDestinationFolder: true - overwriteExistingFiles: true - - - task: DeleteFiles@1 - inputs: - SourceFolder: '$(Pipeline.Workspace)/drop_asia' - Contents: '$(Build.BuildId).zip' - - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - cd /home/azureuser/azagent/_work/1/japp - pm2 restart index - sudo systemctl restart nginx - - routeTraffic: - steps: - - script: echo routing traffic - postRouteTraffic: - steps: - - script: echo health check post-route traffic - on: - failure: - steps: - - script: echo Restore from backup! This is on failure - success: + - stage: Build_asia + displayName: Build stage asia + jobs: + - job: Build_asia steps: - - script: echo Notify! This is on success \ No newline at end of file + - task: DownloadSecureFile@1 + displayName: 'download ASIA backendend' + inputs: + secureFile: 'BACKEND_ENV_FILE_ASIA' # string. Required. Secure File. + + - task: CopyFiles@2 + displayName: 'copy asia backendend' + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: BACKEND_ENV_FILE_ASIA + TargetFolder: './backend' + + - script: mv ./backend/BACKEND_ENV_FILE_ASIA ./backend/.env + displayName: 'rename asia .env' + - task: DownloadSecureFile@1 + displayName: 'download asia frontend' + inputs: + secureFile: 'FRONTEND_ENV_FILE_ASIA' # string. Required. Secure File. + + - task: CopyFiles@2 + displayName: 'copy asia frontend' + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: FRONTEND_ENV_FILE_ASIA + TargetFolder: './frontend' + + - script: mv ./frontend/FRONTEND_ENV_FILE_ASIA ./frontend/.env + displayName: 'rename asia .env' + + - script: ls -a ./frontend + displayName: 'ls' + + - script: ls -Rn + displayName: 'ls' + + - task: NodeTool@0 + inputs: + versionSpec: '12.20.1' + displayName: 'Install Node.js' + + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + node -v + npm -v + npm install + npm run build + + - task: ArchiveFiles@2 + displayName: 'Archive files' + inputs: + rootFolderOrFile: '$(System.DefaultWorkingDirectory)' + includeRootFolder: false + archiveType: zip + archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip + replaceExistingArchive: true + - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip + artifact: drop_asia + + - deployment: VMDeploy_ASIA + dependsOn: Build_asia + displayName: DEPLOY ASIA + environment: + name: PROD + resourceType: VirtualMachine + tags: asia + strategy: + runOnce: + preDeploy: + steps: + - task: DownloadPipelineArtifact@2 + inputs: + buildType: 'current' + artifactName: drop_asia + targetPath: '$(Pipeline.Workspace)/drop' + + - script: echo initialize, cleanup, backup, install certs + + deploy: + steps: + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + # Modify deployment script based on the app type + echo "Starting deployment script run" + + - task: ExtractFiles@1 + inputs: + archiveFilePatterns: '$(Pipeline.Workspace)/drop_asia/$(Build.BuildId).zip' + destinationFolder: '$(Pipeline.Workspace)/japp' + cleanDestinationFolder: true + overwriteExistingFiles: true + + - task: DeleteFiles@1 + inputs: + SourceFolder: '$(Pipeline.Workspace)/drop_asia' + Contents: '$(Build.BuildId).zip' + + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + cd /home/azureuser/azagent/_work/3/japp + pm2 restart index + sudo systemctl restart nginx + + routeTraffic: + steps: + - script: echo routing traffic + postRouteTraffic: + steps: + - script: echo health check post-route traffic + on: + failure: + steps: + - script: echo Restore from backup! This is on failure + success: + steps: + - script: echo Notify! This is on success diff --git a/azure-pipelines-eu.yml b/azure-pipelines-eu.yml index 747936acb..1ec473cd3 100644 --- a/azure-pipelines-eu.yml +++ b/azure-pipelines-eu.yml @@ -1,136 +1,133 @@ trigger: -- none + - none pool: - vmImage: ubuntu-latest + vmImage: ubuntu-latest stages: - -- stage: Build_africa - displayName: Build stage africa - jobs: - - job: Build_africa - steps: - - - task: DownloadSecureFile@1 - displayName: 'download AFRICA backendend' - inputs: - secureFile: 'BACKEND_ENV_FILE_AFRICA' # string. Required. Secure File. - - - task: CopyFiles@2 - displayName: 'copy africa backendend' - inputs: - SourceFolder: '$(Agent.TempDirectory)' - Contents: BACKEND_ENV_FILE_AFRICA - TargetFolder: './backend' - - - script: mv ./backend/BACKEND_ENV_FILE_AFRICA ./backend/.env - displayName: 'rename africa .env' - - task: DownloadSecureFile@1 - displayName: 'download africa frontend' - inputs: - secureFile: 'FRONTEND_ENV_FILE_AFRICA' # string. Required. Secure File. - - - task: CopyFiles@2 - displayName: 'copy africa frontend' - inputs: - SourceFolder: '$(Agent.TempDirectory)' - Contents: FRONTEND_ENV_FILE_AFRICA - TargetFolder: './frontend' - - - script: mv ./frontend/FRONTEND_ENV_FILE_AFRICA ./frontend/.env - displayName: 'rename africa .env' - - - script: ls -a ./frontend - displayName: 'ls' - - - script: ls -Rn - displayName: 'ls' - - - task: NodeTool@0 - inputs: - versionSpec: '12.20.1' - displayName: 'Install Node.js' - - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - node -v - npm -v - npm install - npm run build - - - task: ArchiveFiles@2 - displayName: 'Archive files' - inputs: - rootFolderOrFile: '$(System.DefaultWorkingDirectory)' - includeRootFolder: false - archiveType: zip - archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip - replaceExistingArchive: true - - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip - artifact: drop_africa - - - deployment: VMDeploy_AFRICA - dependsOn: Build_africa - displayName: DEPLOY AFRICA - environment: - name: PROD - resourceType: VirtualMachine - tags: africa - strategy: - runOnce: - preDeploy: - steps: - - task: DownloadPipelineArtifact@2 - inputs: - buildType: 'current' - artifactName: drop_africa - targetPath: '$(Pipeline.Workspace)/drop' - - - script: echo initialize, cleanup, backup, install certs - - deploy: - steps: - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - # Modify deployment script based on the app type - echo "Starting deployment script run" - - - - task: ExtractFiles@1 - inputs: - archiveFilePatterns: '$(Pipeline.Workspace)/drop_africa/$(Build.BuildId).zip' - destinationFolder: '$(Pipeline.Workspace)/japp' - cleanDestinationFolder: true - overwriteExistingFiles: true - - - task: DeleteFiles@1 - inputs: - SourceFolder: '$(Pipeline.Workspace)/drop_africa' - Contents: '$(Build.BuildId).zip' - - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - cd /home/azureuser/azagent/_work/1/japp - pm2 restart index - sudo systemctl restart nginx - - routeTraffic: - steps: - - script: echo routing traffic - postRouteTraffic: - steps: - - script: echo health check post-route traffic - on: - failure: - steps: - - script: echo Restore from backup! This is on failure - success: + - stage: Build_africa + displayName: Build stage africa + jobs: + - job: Build_africa steps: - - script: echo Notify! This is on success + - task: DownloadSecureFile@1 + displayName: 'download AFRICA backendend' + inputs: + secureFile: 'BACKEND_ENV_FILE_AFRICA' # string. Required. Secure File. + + - task: CopyFiles@2 + displayName: 'copy africa backendend' + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: BACKEND_ENV_FILE_AFRICA + TargetFolder: './backend' + + - script: mv ./backend/BACKEND_ENV_FILE_AFRICA ./backend/.env + displayName: 'rename africa .env' + - task: DownloadSecureFile@1 + displayName: 'download africa frontend' + inputs: + secureFile: 'FRONTEND_ENV_FILE_AFRICA' # string. Required. Secure File. + + - task: CopyFiles@2 + displayName: 'copy africa frontend' + inputs: + SourceFolder: '$(Agent.TempDirectory)' + Contents: FRONTEND_ENV_FILE_AFRICA + TargetFolder: './frontend' + + - script: mv ./frontend/FRONTEND_ENV_FILE_AFRICA ./frontend/.env + displayName: 'rename africa .env' + + - script: ls -a ./frontend + displayName: 'ls' + + - script: ls -Rn + displayName: 'ls' + + - task: NodeTool@0 + inputs: + versionSpec: '12.20.1' + displayName: 'Install Node.js' + + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + node -v + npm -v + npm install + npm run build + + - task: ArchiveFiles@2 + displayName: 'Archive files' + inputs: + rootFolderOrFile: '$(System.DefaultWorkingDirectory)' + includeRootFolder: false + archiveType: zip + archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip + replaceExistingArchive: true + - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip + artifact: drop_africa + + - deployment: VMDeploy_AFRICA + dependsOn: Build_africa + displayName: DEPLOY AFRICA + environment: + name: PROD + resourceType: VirtualMachine + tags: africa + strategy: + runOnce: + preDeploy: + steps: + - task: DownloadPipelineArtifact@2 + inputs: + buildType: 'current' + artifactName: drop_africa + targetPath: '$(Pipeline.Workspace)/drop' + + - script: echo initialize, cleanup, backup, install certs + + deploy: + steps: + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + # Modify deployment script based on the app type + echo "Starting deployment script run" + + - task: ExtractFiles@1 + inputs: + archiveFilePatterns: '$(Pipeline.Workspace)/drop_africa/$(Build.BuildId).zip' + destinationFolder: '$(Pipeline.Workspace)/japp' + cleanDestinationFolder: true + overwriteExistingFiles: true + + - task: DeleteFiles@1 + inputs: + SourceFolder: '$(Pipeline.Workspace)/drop_africa' + Contents: '$(Build.BuildId).zip' + + - task: Bash@3 + inputs: + targetType: 'inline' + script: | + cd /home/azureuser/azagent/_work/2/japp + pm2 restart index + sudo systemctl restart nginx + + routeTraffic: + steps: + - script: echo routing traffic + postRouteTraffic: + steps: + - script: echo health check post-route traffic + on: + failure: + steps: + - script: echo Restore from backup! This is on failure + success: + steps: + - script: echo Notify! This is on success