Actions の Secrets と環境変数
GitHub Actions のワークフローで Secrets と環境変数を安全に保存して使用する方法を学びます。
「Actions の Secrets と環境変数」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
シークレットが重要な理由
ワークフローでは、APIキー、トークン、パスワードが必要になることがあります。これらをYAMLにハードコードすると、リポジトリに公開されてしまいます。シークレットを使うと、安全に暗号化して管理できます。
シークレットの保存場所
リポジトリのSettings > Secrets and variables > Actionsでシークレットを追加します。シークレットは暗号化され、保存後に再び表示されることはありません。
シークレットの使用
ワークフローのステップ内でsecretsコンテキストを使ってシークレットを参照します。
steps:
- name: Deploy
run: ./deploy.sh
env:
API_KEY: ${{ secrets.API_KEY }}シークレットのマスク
GitHubはログ内のシークレットの値を自動的にマスクし、***に置き換えます。これにより、ビルド出力に値が漏れることを防ぎます。
組み込みのGITHUB_TOKEN
すべてのワークフローには、リポジトリの認証に使えるGITHUB_TOKENシークレットが自動的に付与されるため、自分で作成する必要はありません。
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}通常の環境変数
シークレットではない設定は、envキーを使って、ワークフロー、ジョブ、ステップの各レベルで通常の変数として設定できます。
env:
NODE_ENV: productionリポジトリ変数
複数のワークフローで再利用する機密性のない値は、リポジトリ変数として保存し、varsコンテキストから読み取れます。
env:
REGION: ${{ vars.AWS_REGION }}環境スコープのシークレット
GitHubのEnvironment(ステージングや本番環境など)には、それぞれ独自のシークレットを保存し、使用前に承認を必須にできます。
jobs:
deploy:
environment: productionOrganizationのシークレット
複数のリポジトリで共有するシークレットは、organizationレベルで定義し、対象を選択したリポジトリに限定できます。
フォークからのプルリクエストとシークレット
セキュリティ上の理由から、フォークからのプルリクエストによって実行されるワークフローにはシークレットが渡されません。これにより、悪意のあるPRによる認証情報の盗難を防ぎます。
ベストプラクティス
シークレットの適用範囲を必要最小限にし、定期的にローテーションし、決してエコーせず、可能な場合は組み込みのトークンを優先します。
理解度チェック
Actionsでのシークレットについて、理解度を確認しましょう。
まとめ
Actionsでシークレットを扱う方法を学びました。
- リポジトリ、Organization、Environmentの設定にシークレットを保存します
${{ secrets.NAME }}で参照します- 値はログ内でマスクされます
- 安全のため、フォークからのPRにはシークレットが渡されません
よくある質問
「Actions の Secrets と環境変数」レッスンは無料ですか?
はい。「Actions の Secrets と環境変数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「Actions の Secrets と環境変数」で何を学びますか?
GitHub Actions のワークフローで Secrets と環境変数を安全に保存して使用する方法を学びます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Actions の Secrets と環境変数」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- GitHub Actions入門
- CI/CDワークフローの構築
- カスタムActionsとMarketplace
- Actions の Secrets と環境変数