GitHubにEnvironmentsという機能があって、環境毎にワークフローのルールを設けたり、認証情報(Secrets)を管理できたりして便利らしい。
が、そういう便利さより単に環境毎のデプロイ情報がリポジトリに表示されるのが良い。
何か良いのでAzure Static Web Appsにデプロイしているサイトの情報を出したいと思ったので出した。
関連付ける
Static Web Apps はデフォルトでPull Request毎に専用の動作確認用環境がデプロイされる。そのため、単純に環境を1つ用意してデプロイジョブと関連付けると、Pull Request毎のデプロイと関連づいてしまう。
これを回避するにはメインのデプロイ先へのデプロイジョブとPull Request毎のデプロイジョブを分けて、メインのデプロイ先のジョブとだけ環境を関連付ける。環境を複数用意して、メインのデプロイ先のジョブとPull Request毎のデプロイジョブとで関連付ける環境を分けるなどの手法がありそうだった。
今回は後者でやってみた。
# 前略 jobs: build_and_deploy_job: if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') runs-on: ubuntu-latest name: Build and Deploy Job environment: # メインのブランチへの push とそれ以外で関連付ける環境を分ける name: ${{ (github.event_name == 'push' && 'SRC#Help') || 'SRC#Help dev' }} url: ${{ (github.event_name == 'push' && 'https://srch.7474.jp/') || steps.builddeploy.outputs.static_web_app_url }} steps: # 後略
これで各環境にいい感じにデプロイ先のURLが関連づいた。