Compare commits

...

12 Commits

Author SHA1 Message Date
x.yumoto.k
004fc774dc ブロックスクリプトを追加 2023-07-25 15:16:03 +09:00
湯本 開
07f1fc6d93 Update azure-pipelines.yml for Azure Pipelines 2023-07-25 05:51:45 +00:00
湯本 開
18af4e297d Update azure-pipelines.yml for Azure Pipelines 2023-07-24 09:00:22 +00:00
x.yumoto.k
4d7c3969b4 タグ付けされたCommitの素性を確認するstepを追加 2023-07-24 17:53:45 +09:00
x.yumoto.k
84bef60257 トリガー部分を修正 2023-07-24 17:47:37 +09:00
x.yumoto.k
586fdbcbb9 タグのみをトリガーにするよう修正 2023-07-24 17:44:04 +09:00
x.yumoto.k
3357e5fe2d developブランチにstage-タグが付けられた場合にビルドを行うpipelineを定義 2023-07-24 17:34:54 +09:00
x.yumoto.k
12f8575ccb format document 2023-07-24 17:27:08 +09:00
湯本 開
93dcfdee3b Update azure-pipelines.yml for Azure Pipelines 2023-07-24 08:21:22 +00:00
湯本 開
d4665d8f3d Update azure-pipelines.yml for Azure Pipelines 2023-07-24 08:17:42 +00:00
湯本 開
c7a9656ed7 Update azure-pipelines.yml for Azure Pipelines 2023-07-24 08:14:43 +00:00
湯本 開
151f8b57bc Set up CI with Azure Pipelines
[skip ci]
2023-07-24 08:10:18 +00:00

125
azure-pipelines.yml Normal file
View File

@ -0,0 +1,125 @@
trigger:
tags:
include:
- stage-*
jobs:
- job: Job_1
displayName: Dictation App Service Deploy
pool:
vmImage: ubuntu-latest
steps:
- checkout: self
clean: true
fetchDepth: 1
- script: |
git fetch origin main:main
if git merge-base --is-ancestor $(Build.SourceVersion) main; then
echo "This commit is in the main branch."
else
echo "This commit is not in the main branch."
exit 1
fi
displayName: 'タグが付けられたCommitがdevelopブランチに存在するか確認'
- task: Npm@1
displayName: npm ci
inputs:
command: ci
workingDir: dictation_server
verbose: false
- task: AzureKeyVault@2
displayName: 'Azure Key Vault: kv-odms-secret-dev'
enabled: False
inputs:
ConnectedServiceName: 82047c72-0cfe-43b0-bb2f-cdfd8b165e68
KeyVaultName: kv-odms-secret-dev
- task: Bash@3
displayName: Bash Script (Test)
inputs:
targetType: inline
filePath: cd dictation_server && JWT_PUBLIC_KEY="$JWT_PUBLIC_KEY" && npm run test
script: cd dictation_server && npm run test
- task: Docker@0
displayName: build
inputs:
azureSubscriptionEndpoint: 827be338-1846-4102-b006-f457c92883d3
azureContainerRegistry: '{"loginServer":"crodmsregistrymaintenance.azurecr.io", "id" : "/subscriptions/108fb131-cdca-4729-a2be-e5bd8c0b3ba7/resourceGroups/maintenance-rg/providers/Microsoft.ContainerRegistry/registries/crOdmsRegistryMaintenance"}'
dockerFile: DockerfileServerDictation.dockerfile
imageName: $(Build.Repository.Name)/dictation:latest
- task: Docker@0
displayName: Push
inputs:
azureSubscriptionEndpoint: 827be338-1846-4102-b006-f457c92883d3
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: $(Build.Repository.Name)/dictation:latest
- job: Job_2
displayName: Dictation Static App Service Deploy
pool:
vmImage: ubuntu-latest
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 && npm run build
- task: AzureStaticWebApp@0
displayName: 'Static Web App: '
inputs:
app_location: /dictation_client/build
config_file_location: /dictation_client
skip_app_build: true
skip_api_build: true
is_static_export: false
verbose: false
azure_static_web_apps_api_token: $(static_dictation_deployment_token)
- job: Job_3
displayName: DB migration
dependsOn:
- Job_1
- Job_2
pool:
name: db-migrate-pipelines
steps:
- checkout: self
clean: true
fetchDepth: 1
- task: GoTool@0
displayName: Use Go 1.18
inputs:
version: 1.18
- task: Go@0
displayName: go install
inputs:
command: custom
customCommand: install
arguments: github.com/rubenv/sql-migrate/sql-migrate@latest
- task: AzureKeyVault@2
displayName: 'Azure Key Vault: kv-odms-secret-dev'
inputs:
ConnectedServiceName: 82047c72-0cfe-43b0-bb2f-cdfd8b165e68
KeyVaultName: kv-odms-secret-dev
- task: CmdLine@2
displayName: migration
inputs:
script: >2
# DB接続情報書き換え
sed -i -e "s/DB_NAME/$(db-name)/g" ./dictation_server/db/dbconfig.yml
sed -i -e "s/DB_PASS/$(db-pass)/g" ./dictation_server/db/dbconfig.yml
sed -i -e "s/DB_USERNAME/$(db-user)/g" ./dictation_server/db/dbconfig.yml
sed -i -e "s/DB_PORT/$(db-port)/g" ./dictation_server/db/dbconfig.yml
sed -i -e "s/DB_HOST/$(db-host)/g" ./dictation_server/db/dbconfig.yml
/home/azureuser/go/bin/sql-migrate --version
cat ./dictation_server/db/dbconfig.yml
# migration実行
/home/azureuser/go/bin/sql-migrate up -config=dictation_server/db/dbconfig.yml -env=ci
...