こんにちは、CX 事業本部 Delivery 部の若槻です。
前回のエントリで、GitHub Actions for VS Code を使って構成変数(Variables、Secrets および Environments)の管理が行えることをご紹介しました。
今回は GitHub Actions for VS Code の別機能として、ワークフロー編集時に構成変数のサジェストとバリデーションをしてくれる機能が便利だったのでご紹介します。
環境
# VS Code
$ code --version
1.85.1
0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
arm64
# GitHub Actions for VS Code
$ code --list-extensions --show-versions | grep github.vscode-github-actions@
github.vscode-github-actions@0.26.2
便利な機能
次のように Variables、Secrets および Environments の構成変数を使用したワークフローを例に確認してみます。
.github/workflows/cicd.yml
on:
push:
branches:
- develop
- staging
- main
jobs:
integration:
runs-on: ubuntu-latest
steps:
- name: integration
run: |
echo "Integration"
echo ${{ github.ref_name }}
echo ${{ github.base_ref }}
dev_deployment:
runs-on: ubuntu-latest
if: github.ref_name == 'develop'
environment: development
needs: integration
steps:
- name: deploy
run: |
echo "Development Deployment"
echo ${{ vars.HOGE_ENV }}
echo ${{ secrets.HOGE_SECRET }}
prd_deployment:
runs-on: ubuntu-latest
if: github.ref_name == 'main'
environment: production
needs: integration
steps:
- name: deploy
run: |
echo "Production Deployment"
echo ${{ vars.HOGE_ENV }}
echo ${{ secrets.HOGE_SECRET }}
バリデーション
バリデーション機能により、ワークフロー内で不正な構成変数の指定があると Error および Warning が表示されます。
ワークフロー上では vars.HOGE_ENV
という変数が指定されていますが、この Variables は実際には存在しないため、バリデーションで Context access might be invalid: HOGE_ENV
という Warning が発生しています。
また production
という Environment は存在しないため、バリデーションで Value 'production' is not valid
という Error が発生しています。
サジェスト
サジェスト機能により、ワークフロー内で構成変数を指定する際に、env.
や vars.
、secrets.
まで入力すると、存在する変数をサジェストしてくれます。
注意点
GITHUB_ENV に手動で指定した変数へのアクセスは Warning となる
不正な指定ではなくてもバリデーションの Warning が解決されない場合があります。
例えば、ワークフロー内で GITHUB_ENV
に手動で設定した環境変数にアクセスした場合です。"VAR_HOGE=${123}" >> $GITHUB_ENV
のように行った変数の設定はバリデーションで考慮されません。
この方法は下記ドキュメントでも紹介されているステップ間で値を受け渡す便利な方法ですが、拡張機能とは若干相性が悪いので留意してください。
Warning を抑制するワークアラウンドとしては、ワークフローまたはジョブの env
で予め環境変数を定義しておく方法ががあります。
.github/workflows/cicd.yml
on:
push
jobs:
integration:
env:
VAR_HOGE: null
runs-on: ubuntu-latest
steps:
- name: Set GITHUB_ENV
run: |
echo "VAR_HOGE=${123}" >> $GITHUB_ENV
- name: Get GITHUB_ENV
run: |
echo ${{ env.VAR_HOGE }}
Warning が解消されました。
おわりに
GitHub Actions for VS Code で、ワークフロー編集時の構成変数のサジェストとバリデーションが便利だったのでご紹介しました。
Github Actions を利用するプロジェクトを VS Code で開発する際にはとても便利なので、ぜひご活用ください。
以上