ワークフローの一元管理
組織内のリポジトリ全体で GitHub Actions のワークフローを一元化・標準化する方法を学びます。
「ワークフローの一元管理」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
CI/CDを一元管理する
一元化されたワークフロー管理へようこそ。大規模な組織では、多数のプロジェクトにまたがるCI/CDパイプラインの管理が複雑になることがあります。
このレッスンでは、GitHub Actionsのワークフローを標準化・一元化する方法を学び、開発エコシステム全体に一貫性、効率性、そしてより高いセキュリティをもたらします。
なぜ一元化するのか?課題について
すべてのチームがそれぞれ独自のCI/CDワークフローを作成している状況を想像してください。多くの場合、次のような問題につながります。
- 重複:チームが似たロジックを何度も記述します。
- 不統一:異なる標準や慣行が生まれます。
- 保守の負担:共有ツールやセキュリティ対策を更新する際、多くの場所を変更する必要があります。
- セキュリティリスク:すべてのパイプラインがセキュリティのベストプラクティスに従っていることを確認しにくくなります。
再利用可能なワークフロー:中核となるツール
一元化に使える最も強力なツールの1つが再利用可能なワークフローです。これを使うと、ジョブやステップのセットを中央のリポジトリに定義し、組織内の他のリポジトリから呼び出せます。
つまり、共通のビルド、テスト、デプロイのロジックを1か所に集約できるため、管理や更新が簡単になります。
例:再利用可能なワークフローを呼び出す
ここでは、プロジェクトリポジトリ(「呼び出し側」)から、中央リポジトリ(例:octo-org/central-workflows)に定義された再利用可能なワークフローを使用する方法を示します。
usesキーワードで中央のワークフローを指定し、withでカスタム入力を渡します。
name: Client App CI
on:
push:
branches:
- main
jobs:
call-build-and-test:
# Calls a workflow from a central 'octo-org' repository
uses: octo-org/central-workflows/.github/workflows/build-and-test.yml@main
with:
node-version: '18'
secrets: inherit # Pass all caller's secrets to the reusable workflow組織レベルのシークレットと変数
再利用可能なワークフローに加えて、GitHubではシークレットと変数を組織レベルで定義できます。
これらは、機密データ(APIキーなど)や共通の設定値(デプロイ先など)を保存するために重要です。組織内の多くのリポジトリで必要になる可能性があります。
組織のシークレットにアクセスする
組織のシークレットを設定すると、アクセスを許可されたリポジトリのワークフローから、リポジトリレベルのシークレットと同じように使用できます。これにより、機密データを一元的かつ安全に管理できます。
シークレットがログに公開されることは決してありません。
name: Deploy App
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Org Deployment Key
# Accesses an organization-level secret
run: echo "Attempting deployment with key: ${{ secrets.ORG_DEPLOY_KEY }}"一貫性を保つためのスターターワークフロー
開発者を導き、新しいプロジェクトが初日から標準に従えるようにするため、組織ではスターターワークフローを提供できます。
これは、新しいワークフローファイルをリポジトリに作成するときに選択肢として表示される、あらかじめ定義されたワークフローのテンプレートです。手作業なしでベストプラクティスを適用できる、便利な出発点として機能します。
GitHubで標準を適用する
さらに厳格な制御が必要な場合、GitHubではRepository Rulesets(GitHub Enterprise Cloud向け)やカスタムGitHub Appsなどの機能を利用できます。
これらを設定すると、特定のワークフロー命名規則を適用したり、特定のジョブが必ず存在するようにしたり、ワークフローファイルの準拠状況をlintしたりできます。組織全体で一貫性と安全性のあるCI/CD運用を確保できます。
一元管理が重要な理由
ワークフロー管理を一元化すると、組織に次のような大きなメリットがあります。
- 一貫性:すべてのチームが統一されたCI/CDの手法に従えます。
- 効率性:作業の重複が減り、プロジェクトをより速くセットアップできます。
- セキュリティ:セキュリティのベストプラクティスを適用・更新しやすくなります。
- 保守性:共有ロジックの更新を中央の1か所で行えます。
- オンボーディング:新しいチームが承認済みのテンプレートを使ってすぐに開始できます。
理解度をチェックする
組織全体でGitHub Actionsのワークフローを一元化する主なメリットは、次のうちどれでしょうか。
レッスンのまとめ
このレッスンでは、組織におけるGitHub Actionsの一元化されたワークフロー管理の重要性について学びました。再利用可能なワークフロー、組織レベルのシークレットと変数、スターターワークフローによって、組織のリポジトリ全体で一貫性を維持し、効率性とセキュリティを向上させられることを確認しました。
CI/CDを一元化することで運用を効率化し、すべてのチームがベストプラクティスに従えるようになります。
よくある質問
「ワークフローの一元管理」レッスンは無料ですか?
はい。「ワークフローの一元管理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「ワークフローの一元管理」で何を学びますか?
組織内のリポジトリ全体で GitHub Actions のワークフローを一元化・標準化する方法を学びます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ワークフローの一元管理」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- モノレポの CI/CD
- リポジトリ間ワークフロー
- ワークフローの一元管理
- パスフィルタリングと選択的ビルド