SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

GitHub Actionsをはじめよう

【GitHub Actions 徹底解説】GitHub Actionsの構文をよりくわしく学ぶ

GitHub Actionsをはじめよう 第2回

変数・Secret

 変数とSecretに触れてこの章を終わりにしたいと思います。

 ワークフロー内では環境変数等の変数を利用することができます。ワークフロー内でenvキーを利用して指定したり、Organizationやリポジトリ、環境[2]の設定として、キーと値のペアを登録できます。それぞれ、参照できる範囲が異なり、ワークフロー内で定義した場合はそのワークフローからのみ参照できますが、リポジトリの設定として登録すればそのリポジトリ内の複数のワークフローから参照できます。

 また、CI/CDでシークレットキーなどのなんらかの機密情報を扱いたいという場合があります。GitHub Actionsでは機密情報を格納するための特別な変数である Secret が用意されています。Secretに設定したものはワークフロー内でsecretsコンテキストを通じて参照できます。Secretは、organization、リポジトリ、環境、に設定できます。

 GitHub Actionsは、ワークフローログに出力されるSecretの内容を自動的にマスキングします。よって、万が一Secretをそのままログ出力してしまったとしてもログに出力されません。ただし、なんらかの加工を入れると簡単に表示できてしまいます。

 以下は、最初にSecretの値をそのまま表示し、次に最初の1文字を大文字にして表示するサンプルコードの一部抜粋です。リポジトリの設定としてSecretにKEYという名前でsecret-valueという値を登録しています。

jobs:
  print-info:
    runs-on: ubuntu-latest
    env:
      SECRET_KEY: ${{ secrets.KEY }}
    steps:
      - run: |
          echo "Original: ${SECRET_KEY}"
          echo "Capitalize the first letter: ${SECRET_KEY^}"

 実行結果は以下のようになります(echo部分のみ抜粋です)。

Original: ***
Capitalize the first letter: Secret-value

 機密情報はSecretに保存することを徹底しましょう。マスキング機能はありますが万能ではありません。必要最低限の情報のみ登録する、(登録値が権限管理ができるものであれば)用途に合わせた最小限の権限を付与する、不要な情報をログ出力しない、といったことを徹底しましょう。

ワークフローテンプレート

 GitHub Actionsでは、ワークフローのテンプレートが用意されています。テンプレートは、GitHub上でワークフローを作成する際に選択できます。GitHub上から作成する場合は、リポジトリを表示し、Actionsタブで表示される作成ボタンから作成できます。

Actionsタブで表示される作成ボタン

 2025年4月時点で約90種類のテンプレートを確認できました。さまざまな言語やツールを使ったテンプレートが用意されています。

 テンプレートを出発地点として使うことで、構築にかかる時間を短縮することもできますし、どのような処理の流れにするかの参考にもなると思います。「やりたいことはあるが具体的なワークフローの流れが思いつかない」という場合に参考にしてみてください。

まとめ

 今回は以下の内容を取り上げました。

  • GitHub Actionsの構文
  • ワークフローテンプレート

 次回は独自のアクションを作ってみましょう。

  • [2]リポジトリにproductiondevelopmentといった環境を設定することができ、環境ごとに環境変数等を設定することができます。※本連載では割愛します。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
GitHub Actionsをはじめよう連載記事一覧

もっと読む

この記事の著者

藤澤 千尋(フジサワ チヒロ)

 ソフトウェアエンジニアとして約10年働いており、最近は主にフロントエンド開発を担当しています。最近、筋トレを始めました。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/21254 2025/04/18 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー