LoginSignup
19
5

More than 1 year has passed since last update.

GitHub Actionsで機密情報を扱う方法

Posted at

GitHub ActionsでAPIキーなど機密情報を扱う場合、Secretを使うと安全に利用できます。

Secretには2種類あり、Environment SecretとRepository Secretです。Environment Secretは本番環境や検証環境などで区別して利用できます。Repository Secretはリポジトリ内で同一の値を利用できます。

2つのSecretはActionsでの使い方が違います。
GitHub上での設定方法が似ており、微妙に異なる利用方法を誤ると値を取得できないので、どちらを使うのか気をつけてください。

Environment Secret

追加方法

リポジトリのSettings
2022-04-26_21h46_16.png

左ペインのEnvironments
2022-04-26_21h47_43.png

右上の「New environment」
2022-04-26_21h48_52.png

既存のものに追加する場合は、Environment名のリンクをクリックします。

環境名(production, stagingなど)を入力し、「Configure environment」ボタンをクリック
2022-04-26_21h49_53.png

ページ下部の「Environment secrets」内の「Add Secret」をクリック
2022-04-26_21h52_14.png

Name、Valueを入力し、「Add secret」をクリック
2022-04-26_21h57_15.png

Environment secretsに追加したNameがあれば完了。
2022-04-26_21h54_28.png

追加後にValueの内容は表示できません。Updateボタンから更新はできます。

Actionsでの使い方

# .github/workflows/****.yml
jobs:
  check-bats-version:
    runs-on: ubuntu-latest
    environment: 
      name: production  # 環境名を指定(記載しないとSecretを取得不可)
    steps:
      - run: |
      # secretは ${{ secrets.<Name> }} 形式で取得可能
          echo ${{ secrets.API_KEY }}  

Repository Secret

追加方法

リポジトリのSettings
2022-04-26_21h46_16.png

左ペインのSecrets→Actions
2022-04-26_22h04_37.png

右上の「New repository secret」をクリック
2022-04-26_22h05_35.png

Name、Valueを入力し、「Add secret」をクリック
2022-04-26_22h06_22.png

Repository Secretsに追加したNameがあれば完了
2022-04-26_22h07_16.png

追加後にValueの内容は表示できません。Updateボタンから更新はできます。

Actionsでの使い方

# .github/workflows/****.yml
jobs:
  check-bats-version:
    runs-on: ubuntu-latest
    steps:
      - run: |
      # secretは ${{ secrets.<Name> }} 形式で取得可能
          echo ${{ secrets.APP_ID }}  

Environment Secretのように、YAML内で上記以外の設定は不要です。

まとめ

Secretには2種類あり、Environment SecretとRepository Secretがあります。Environment SecretはEnvironmentsから追加可能です。Repository SecretはSecrets→Actionsから追加可能です。
Actionsではいずれも${{ secrets.<Secret名> }}で参照可能です。Environment Secretの場合は、environmentで環境名を指定することを忘れないでください。

19
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
5