GitHub ワークフローで環境変数、シークレットな情報を使用する

これは 2020/05 時点の情報をもとにした記事なので、最新では事情が変わっている可能性を留意すること。

ワークフロー内で使用できる環境変数

環境変数の利用 - GitHub ヘルプ

たとえば GITHUB_REPOSITORY(所有者とリポジトリの名前 octocat/Hello-World など)がある。

API キーなどシークレット情報の扱い

暗号化されたシークレットの作成と保存 - GitHub ヘルプ

ある Web API を呼び出すのに必要な API キーがあったとして、それをコード中にそのまま記載してしまうと API キーの漏洩になってしまう。これを避けるため、シークレット情報は GitHub に設定して秘匿して使用することができる。

シークレット情報は Organization / Repository ごとに設定することができる。

設定したシークレット情報は、以下のようにワークフローで参照することができる。

steps:
  - shell: bash
    env:
      SUPER_SECRET: ${{ secrets.SuperSecret }}
    run: |
      example-command "$SUPER_SECRET"