From 8474c6a4f55cb93f7e86407f37392d13e022fd07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B9=AF=E6=9C=AC=20=E9=96=8B?= Date: Thu, 26 Oct 2023 04:37:58 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20529:=20Pipeline=E3=81=AE=E4=BB=95?= =?UTF-8?q?=E7=B5=84=E3=81=BF=E3=82=92=E4=BF=AE=E6=AD=A3=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [Task2949: Pipelineの仕組みを修正する](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2949) - .env.(環境名) の環境変数を用いてフロント側ビルドを行うよう修正 - ビルドパイプラインでstaging/production用の両方のフロント側ビルドを行うよう変更 ## レビューポイント - 仕組み上の不明点はないか - 情報共有 ## 動作確認状況 - 本番環境へデプロイされ、本当の最低限だけ動作することを確認 --- azure-pipelines-production.yml | 4 +-- azure-pipelines-staging.yml | 59 ++++++++++++++++++++++++++++---- dictation_client/.env.production | 5 +++ 3 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 dictation_client/.env.production diff --git a/azure-pipelines-production.yml b/azure-pipelines-production.yml index 1359ec5..e34e28f 100644 --- a/azure-pipelines-production.yml +++ b/azure-pipelines-production.yml @@ -49,7 +49,7 @@ jobs: displayName: Deploy Frontend Files variables: storageAccountName: saomdspipeline - containerName: staging + environment: production pool: vmImage: ubuntu-latest steps: @@ -65,7 +65,7 @@ jobs: az storage blob download \ --auth-mode login \ --account-name $(storageAccountName) \ - --container-name $(containerName) \ + --container-name $(environment) \ --name $(Build.SourceVersion).zip \ --file $(Build.SourcesDirectory)/$(Build.SourceVersion).zip - task: Bash@3 diff --git a/azure-pipelines-staging.yml b/azure-pipelines-staging.yml index 46175dc..b8e341e 100644 --- a/azure-pipelines-staging.yml +++ b/azure-pipelines-staging.yml @@ -99,13 +99,13 @@ jobs: azureContainerRegistry: '{"loginServer":"crodmsregistrymaintenance.azurecr.io", "id" : "/subscriptions/108fb131-cdca-4729-a2be-e5bd8c0b3ba7/resourceGroups/maintenance-rg/providers/Microsoft.ContainerRegistry/registries/crOdmsRegistryMaintenance"}' action: Push an image imageName: odmscloud/staging/dictation:$(Build.SourceVersion) -- job: frontend_build +- job: frontend_build_staging dependsOn: backend_build condition: succeeded('backend_build') - displayName: Build Frontend Files + displayName: Build Frontend Files(staging) variables: storageAccountName: saomdspipeline - containerName: staging + environment: staging pool: name: odms-deploy-pipeline steps: @@ -122,7 +122,7 @@ jobs: displayName: Bash Script inputs: targetType: inline - script: cd dictation_client && npm run build + script: cd dictation_client && cp -f .env.$(environment) .env && npm run build - task: ArchiveFiles@2 inputs: rootFolderOrFile: dictation_client/build @@ -139,14 +139,59 @@ jobs: az storage blob upload \ --auth-mode login \ --account-name $(storageAccountName) \ - --container-name $(containerName) \ + --container-name $(environment) \ + --name $(Build.SourceVersion).zip \ + --type block \ + --overwrite \ + --file $(Build.ArtifactStagingDirectory)/$(Build.SourceVersion).zip +- job: frontend_build_production + dependsOn: frontend_build_staging + condition: succeeded('frontend_build_staging') + displayName: Build Frontend Files(production) + variables: + storageAccountName: saomdspipeline + environment: production + pool: + name: odms-deploy-pipeline + steps: + - checkout: self + clean: true + fetchDepth: 1 + - task: Npm@1 + displayName: npm ci + inputs: + command: ci + workingDir: dictation_client + verbose: false + - task: Bash@3 + displayName: Bash Script + inputs: + targetType: inline + script: cd dictation_client && cp -f .env.$(environment) .env && npm run build + - task: ArchiveFiles@2 + inputs: + rootFolderOrFile: dictation_client/build + includeRootFolder: false + archiveType: 'zip' + archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.SourceVersion).zip' + replaceExistingArchive: true + - task: AzureCLI@2 + inputs: + azureSubscription: 'omds-service-connection-stg' + scriptType: 'bash' + scriptLocation: 'inlineScript' + inlineScript: | + az storage blob upload \ + --auth-mode login \ + --account-name $(storageAccountName) \ + --container-name $(environment) \ --name $(Build.SourceVersion).zip \ --type block \ --overwrite \ --file $(Build.ArtifactStagingDirectory)/$(Build.SourceVersion).zip - job: backend_deploy - dependsOn: frontend_build - condition: succeeded('frontend_build') + dependsOn: frontend_build_production + condition: succeeded('frontend_build_production') displayName: Backend Deploy pool: name: odms-deploy-pipeline diff --git a/dictation_client/.env.production b/dictation_client/.env.production new file mode 100644 index 0000000..7169682 --- /dev/null +++ b/dictation_client/.env.production @@ -0,0 +1,5 @@ +VITE_STAGE=production +VITE_B2C_CLIENTID=b0ec473b-6b2b-4f12-adc6-39a24ebe6a3f +VITE_B2C_AUTHORITY=https://adb2codmsprod.b2clogin.com/adb2codmsprod.onmicrosoft.com/b2c_1_signin_prod +VITE_B2C_KNOWNAUTHORITIES=adb2codmsprod.b2clogin.com +VITE_DESK_TOP_APP_SCHEME=odms-desktopapp \ No newline at end of file