はじめに
Azure Pipelines を使用する際、デプロイする環境によって変数の値を変えたい場合があります。
例) 開発環境では変数に develop
という値を使用したいが、本番環境は production
という値に書き換えたい。
内容
環境によって変数の値を変えたい場合、if-elseif-else で制御することが可能です。
弊社で使用しているyamlファイルの中身を一部紹介します。
# 変数の定義 variables: productionBranch: 'refs/heads/master' ${{ if eq(variables['Build.SourceBranch'], variables.productionBranch) }}: appName: 'productionApp' tag: 'production' ${{ else }}: appName: 'developApp' tag: 'develop'
上記ではトリガーとなるブランチによって変数の値を制御し、環境ごとに変数の値を変更しています。
これにより、以下のように同じyamlファイルで環境ごとのDeployを実行することができます。
# WebAppsのデプロイ例 - stage: Deploy displayName: Deploy WebApps jobs: - job: Deploy displayName: Deploy steps: - task: AzureWebAppContainer@1 displayName: 'Azure Web App on Container Deploy' inputs: azureSubscription: $(azureSubscription) slotName: $(slotName) appName: $(appName) imageName: $(containerRegistry)/$(imageRepository):$(tag)
今回は elseif について触れていませんが、公式の記事に記載されているため以下をご確認ください。
Azure Pipelines 式について
終わりに
今回は、Azure Pipelines における小ネタを紹介しました。
今後ともクラウド技術を中心に発信できればと思います。
少しでもお役に立てれば幸いです。