Upgrade to Pro — share decks privately, control downloads, hide ads and more …

R&D 祭 2024 GitHub Enterprise 導入とActionsの活用

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

R&D 祭 2024 GitHub Enterprise 導入とActionsの活用

Avatar for OLM Digital R&D

OLM Digital R&D PRO

May 16, 2026

More Decks by OLM Digital R&D

Other Decks in Technology

Transcript

  1. アジェンダ • GitHub導⼊の経緯 • OLMはなぜEnterpriseプランを選んだか • GitHub Enterpriseのポリシー設計 • R&D

    SIチームのGitHub Actions活⽤ ‒ Google Cloudとの連携 ‒ 管理者と使⽤者が異なる理由 ‒ Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 2
  2. アジェンダ • GitHub導⼊の経緯 • OLMはなぜEnterpriseプランを選んだか • GitHub Enterpriseのポリシー設計 • R&D

    SIチームのGitHub Actions活⽤ ‒ Google Cloud上の資産に安全にアクセスしたい ‒ 管理者と使⽤者が異なる理由 ‒ Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 4
  3. GitHub導⼊の経緯 R&D SIチーム (ITシステム管理) • テキストベースの保守対象は多種多様に存在している ‒ Google App Script

    (TypeScript with aside/clasp) ‒ Self-Hostedしているサービスの設定ファイル ‒ コンテナ向けの設定ファイル ‒ Windows OS キッティング⽤のPowershell ‒ Linux OS キッティング⽤のbash • SIチームのメンバーも増加傾向にあり、属⼈化の緩和が必要 • R&D⼀丸(D/SI)となって活⽤していきたい © OLM Digital, Inc. 6
  4. 時系列 © OLM Digital, Inc. 7 2023/02 GitHub Enterprise 検証を開始

    2023/03 ポリシー設計、SAML認証設定 社内での使⽤⽅法の策定 2023/05 開発チームへ展開 SVNからの移⾏を開始 2023/06 開発チームとJenkinsの連携 2023/09 Google Workload Identity 連携を開始 2023/11 OLM PegHole Stabilizer v2.3 MSI⽣成とデジタル署名に GitHub Actionsを採⽤ 2024/04 中⼭さん ⼊社 2024/05 WixToolset v5 検証を開始 (4⽉Release) 2024/06 Reusable Worflows Composite Action Self-Hosted Runner 検証を開始 2024/07 GitHub Enterprise [Base permissions] Read → No permission 2024/08 MSI⽣成とデジタル署名を Reusable Workflowsへ移⾏ 2024/09 Self-Hosted Runner 正式に稼働開始 2024/10 Jenkins x Self-Hosted Runner 過渡期の構成確⽴ and more …
  5. アジェンダ • GitHub導⼊の経緯 • OLMはなぜEnterpriseプランを選んだか • GitHub Enterpriseのポリシー設計 • R&D

    SIチームのGitHub Actions活⽤ ‒ Google Cloud上の資産に安全にアクセスしたい ‒ 管理者と使⽤者が異なる理由 ‒ Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 8
  6. OLMはなぜEnterpriseプランを選んだか © OLM Digital, Inc. 9 2023/02 GitHub Enterprise 検証を開始

    2023/03 ポリシー設計、SAML認証設定 社内での使⽤⽅法の策定 2023/05 開発チームへ展開 SVNからの移⾏を開始 2023/06 開発チームとJenkinsの連携 2023/09 Google Workload Identity 連携を開始 2023/11 OLM PegHole Stabilizer v2.3 MSI⽣成とデジタル署名に GitHub Actionsを採⽤ 2024/04 中⼭さん ⼊社 2024/05 WixToolset v5 検証を開始 (4⽉Release) 2024/06 Reusable Worflows Composite Action Self-Hosted Runner 検証を開始 2024/07 GitHub Enterprise [Base permissions] Read → No permission 2024/08 MSI⽣成とデジタル署名を Reusable Workflowsへ移⾏ 2024/09 Self-Hosted Runner 正式に稼働開始 2024/10 Jenkins x Self-Hosted Runner 過渡期の構成確⽴ and more …
  7. OLMはなぜEnterpriseプランを選んだか 約5倍の価格差 © OLM Digital, Inc. 10 Free 個⼈向けの基本プラン $0/年

    Team 個⼈および⼩規模プロジェクト⽤の ⾼度なコラボレーション $48/年 Enterprise セキュリティ、コンプライアンス、 柔軟な運⽤ $252/年
  8. OLMはなぜEnterpriseプランを選んだか © OLM Digital, Inc. 12 > 無制限のレポジトリ > セキュリティとバージョンの⾃動更新

    > CI/CD時間: 2,000分/⽉ > 新しいIssueとプロジェクト > GitHub コミュニティによるサポート Free > Free プランのすべての機能 > 保護されたブランチ > Pull Requestに複数のレビュー担当者 > Pull Requestのドラフト作成 > コード所有者 > 必須レビュー担当者 > GitHub PagesとWiki > CI/CD時間: 3,000分/⽉ > GBのGitHub Package ストレージ > Web経由でのサポート問合せ Team > Team プランのすべての機能 > Enterprise Managed Users > SCIMを使⽤したプロビジョニング > 複数Organizationを⼀元管理する  Enterprise Account > 環境保護ルールとシークレット > 監査ログAPI > SAML シングルサインオン > ⾼度な監査 > GitHub Connect > CI/CD時間: 50,000分/⽉ > GBのGitHub Packages ストレージ Enterprise
  9. 複数Organizationを⼀元管理するEnterprise Account OLMはなぜEnterpriseプランを選んだか © OLM Digital, Inc. 14 Enterprise Organization

    B Repository Organization C Repository Repository Team Organization A Repository Repository 単⼀のOrganization 複数のOrganization
  10. ⾼度な監査 OLMはなぜEnterpriseプランを選んだか © OLM Digital, Inc. 15 Enterprise R&D Dチーム

    3 + Repositories R&D SIチーム 2 + Member 2 + Repositories 5 Member ポリシー / 外部公開ルール / クレデンシャル管理 / Marketplace利⽤ RepositoryやActionsの利⽤状況の取得 / 監査ログの取得
  11. アジェンダ • GitHub導⼊の経緯 • OLMはなぜEnterpriseプランを選んだか • GitHub Enterpriseのポリシー設計 • R&D

    SIチームのGitHub Actions活⽤ ‒ Google Cloud上の資産に安全にアクセスしたい ‒ 管理者と使⽤者が異なる理由 ‒ Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 16
  12. GitHub Enterpriseのポリシー設計 © OLM Digital, Inc. 17 2023/02 GitHub Enterprise

    検証を開始 2023/03 ポリシー設計、SAML認証設定 社内での使⽤⽅法の策定 2023/05 開発チームへ展開 SVNからの移⾏を開始 2023/06 開発チームとJenkinsの連携 2023/09 Google Workload Identity 連携を開始 2023/11 OLM PegHole Stabilizer v2.3 MSI⽣成とデジタル署名に GitHub Actionsを採⽤ 2024/04 中⼭さん ⼊社 2024/05 WixToolset v5 検証を開始 (4⽉Release) 2024/06 Reusable Worflows Composite Action Self-Hosted Runner 検証を開始 2024/07 GitHub Enterprise [Base permissions] Read → No permission 2024/08 MSI⽣成とデジタル署名を Reusable Workflowsへ移⾏ 2024/09 Self-Hosted Runner 正式に稼働開始 2024/10 Jenkins x Self-Hosted Runner 過渡期の構成確⽴ and more …
  13. アジェンダ • GitHub導⼊の経緯 • OLMはなぜEnterpriseプランを選んだか • GitHub Enterpriseのポリシー設計 • R&D

    SIチームのGitHub Actions活⽤ ‒ Google Cloud上の資産に安全にアクセスしたい ‒ 管理者と使⽤者が異なる理由 ‒ Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 21
  14. Google Cloud上の資産に安全にアクセスしたい © OLM Digital, Inc. 22 2023/02 GitHub Enterprise

    検証を開始 2023/03 ポリシー設計、SAML認証設定 社内での使⽤⽅法の策定 2023/05 開発チームへ展開 SVNからの移⾏を開始 2023/06 開発チームとJenkinsの連携 2023/09 Google Workload Identity 連携を開始 2023/11 OLM PegHole Stabilizer v2.3 MSI⽣成とデジタル署名に GitHub Actionsを採⽤ 2024/04 中⼭さん ⼊社 2024/05 WixToolset v5 検証を開始 (4⽉Release) 2024/06 Reusable Worflows Composite Action Self-Hosted Runner 検証を開始 2024/07 GitHub Enterprise [Base permissions] Read → No permission 2024/08 MSI⽣成とデジタル署名を Reusable Workflowsへ移⾏ 2024/09 Self-Hosted Runner 正式に稼働開始 2024/10 Jenkins x Self-Hosted Runner 過渡期の構成確⽴ and more …
  15. 期限が1時間の短命トークン / ⾃動的なキーローテーション Google Cloud上の資産に安全にアクセスしたい © OLM Digital, Inc. 27

    サービスアカウントキー/APIキー 無期限でサービス側に持たせがち Workload Identity 都度、払い出し
  16. 中⼭さんの⼊社 © OLM Digital, Inc. 29 2023/02 GitHub Enterprise 検証を開始

    2023/03 ポリシー設計、SAML認証設定 社内での使⽤⽅法の策定 2023/05 開発チームへ展開 SVNからの移⾏を開始 2023/06 開発チームとJenkinsの連携 2023/09 Google Workload Identity 連携を開始 2023/11 OLM PegHole Stabilizer v2.3 MSI⽣成とデジタル署名に GitHub Actionsを採⽤ 2024/04 中⼭さん ⼊社 2024/05 WixToolset v5 検証を開始 (4⽉Release) 2024/06 Reusable Worflows Composite Action Self-Hosted Runner 検証を開始 2024/07 GitHub Enterprise [Base permissions] Read → No permission 2024/08 MSI⽣成とデジタル署名を Reusable Workflowsへ移⾏ 2024/09 Self-Hosted Runner 正式に稼働開始 2024/10 Jenkins x Self-Hosted Runner 過渡期の構成確⽴ and more …
  17. アジェンダ • GitHub導⼊の経緯 • OLMはなぜEnterpriseプランを選んだか • GitHub Enterpriseのポリシー設計 • R&D

    SIチームのGitHub Actions活⽤ ‒ Google Cloud上の資産に安全にアクセスしたい ‒ 管理者と使⽤者が異なる理由 ‒ Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 30
  18. 管理者と使⽤者が異なる理由 © OLM Digital, Inc. 31 2023/02 GitHub Enterprise 検証を開始

    2023/03 ポリシー設計、SAML認証設定 社内での使⽤⽅法の策定 2023/05 開発チームへ展開 SVNからの移⾏を開始 2023/06 開発チームとJenkinsの連携 2023/09 Google Workload Identity 連携を開始 2023/11 OLM PegHole Stabilizer v2.3 MSI⽣成とデジタル署名に GitHub Actionsを採⽤ 2024/04 中⼭さん ⼊社 2024/05 WixToolset v5 検証を開始 (4⽉Release) 2024/06 Reusable Worflows Composite Action Self-Hosted Runner 検証を開始 2024/07 GitHub Enterprise [Base permissions] Read → No permission 2024/08 MSI⽣成とデジタル署名を Reusable Workflowsへ移⾏ 2024/09 Self-Hosted Runner 正式に稼働開始 2024/10 Jenkins x Self-Hosted Runner 過渡期の構成確⽴ and more …
  19. 管理者と使⽤者が異なる理由 • 理由 ‒ 今まではデジタル署名に必要なコードとバイナリをDチームの 各プロジェクトに配布していたが、 SIチームでデジタル署名の保守を⾏いたいため。 ‒ 配布したコードとバイナリを保守するのが難しい。 ‒

    Dチームが署名に関するActionsを気にする必要がなくなる。 • 課題 ‒ olm-rdからolm-siのworkflowを実⾏させる⽅法 ‒ GitHub ActionsにSIが保持するコードやバイナリを使⽤させる⽅法 © OLM Digital, Inc. 32
  20. 管理者と使⽤者が異なる理由 Sign.yml 証明書 OLM-SI 33 OLM-RD Google Cloud Reusable Workflow

    GitHub Action Composite actions 成果物 fetch-preset.yml 実行 © OLM Digital, Inc.
  21. 管理者と使⽤者が異なる理由 34 • Composite Action • ActionからActionを呼び出す。 • 同⼀環境で動作する name:

    …… . . . .. on: workflow_call: inputs: …. .. .. jobs: …… . . …… … . .. . .. name: …… . . . .. on: workflow_call: inputs: …. .. .. jobs: …… . . …… … . .. . .. • Reusable Workflow • WorkFlowからWorkFlowを呼び出す • 環境分離されている © OLM Digital, Inc.
  22. 管理者と使⽤者が異なる理由 35 ReusableWorkflows Action 呼び出し先 name: …… . . .

    .. on: workflow_call: inputs: …. .. .. jobs: …… . . …… … . .. . .. name: …… . . . .. on: workflow_call: inputs: …. .. .. jobs: …… . . …… … . .. . .. 呼び出し元 Composite Action name: …… . . . .. on: workflow_call: inputs: …. .. .. jobs: …… . . …… … . .. . .. Reusable Workflow © OLM Digital, Inc. name: …… . . . .. on: workflow_call: inputs: …. .. .. jobs: …… . . …… … . .. . ..
  23. • GitHub Actionsを実⾏する為の権限 ‒ Reusable Workflow⽤の権限 • Repository->メタデータ読み取り権限 • Repository->コンテンツ読み取り権限

    ‒ Runnerを探す権限 • Organization->Self-hosted runners読み取り権限 • 別orgからGitHub Actionsを実⾏する為の権限 ‒ レポジトリ権限設定 • Actions ->Access->エンタープライズ内からのリポジトリアクセス許可 管理者と使⽤者が異なる理由 © OLM Digital, Inc. 36
  24. アジェンダ • GitHub導⼊の経緯 • OLMはなぜEnterpriseプランを選んだか • GitHub Enterpriseのポリシー設計 • R&D

    SIチームのGitHub Actions活⽤ ‒ Google Cloud上の資産に安全にアクセスしたい ‒ 管理者と使⽤者が異なる理由 ‒ Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 37
  25. Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 38 2023/02 GitHub Enterprise

    検証を開始 2023/03 ポリシー設計、SAML認証設定 社内での使⽤⽅法の策定 2023/05 開発チームへ展開 SVNからの移⾏を開始 2023/06 開発チームとJenkinsの連携 2023/09 Google Workload Identity 連携を開始 2023/11 OLM PegHole Stabilizer v2.3 MSI⽣成とデジタル署名に GitHub Actionsを採⽤ 2024/04 中⼭さん ⼊社 2024/05 WixToolset v5 検証を開始 (4⽉Release) 2024/06 Reusable Worflows Composite Action Self-Hosted Runner 検証を開始 2024/07 GitHub Enterprise [Base permissions] Read → No permission 2024/08 MSI⽣成とデジタル署名を Reusable Workflowsへ移⾏ 2024/09 Self-Hosted Runner 正式に稼働開始 2024/10 Jenkins x Self-Hosted Runner 過渡期の構成確⽴ and more …
  26. Github Actionsを⽤いたデジタル署名 Sign.yml 証明書 OLM-SI 39 OLM-RD Google Cloud Reusable

    Workflow GitHub Action Composite actions 成果物 fetch-preset.yml 実行 © OLM Digital, Inc.
  27. • GitHub Hosted RunnerとSelf-Hostedで動くコード ‒ Self-Hostedで実⾏する利点 • 実⾏時間を短縮できる ‐ ツールのセットアップ時間短縮

    ‐ Artifactが無いため、 アップロード、ダウンロード時間の削減 ‐ マシンパワーによる時間短縮 ‒ artifactをSelf-Hostedでは使⽤しない為 出来る限り抽象化し、コードを分岐させました。 • ファイル分岐ではなくコード分岐の理由 ‐ 共通する箇所が多いため ‐ メンテナンス時に変更箇所が⼆倍になるため。 Github Actionsを⽤いたデジタル署名 © OLM Digital, Inc. 40 name: …… . . . .. on: workflow_call: inputs: …. .. .. jobs: …… . . …… … . .. . .. Self-Hosted Rimmer GitHub-Hosted Runner
  28. まとめ © OLM Digital, Inc. 41 2023/02 GitHub Enterprise 検証を開始

    2023/03 ポリシー設計、SAML認証設定 社内での使⽤⽅法の策定 2023/05 開発チームへ展開 SVNからの移⾏を開始 2023/06 開発チームとJenkinsの連携 2023/09 Google Workload Identity 連携を開始 2023/11 OLM PegHole Stabilizer v2.3 MSI⽣成とデジタル署名に GitHub Actionsを採⽤ 2024/04 中⼭さん ⼊社 2024/05 WixToolset v5 検証を開始 (4⽉Release) 2024/06 Reusable Worflows Composite Action Self-Hosted Runner 検証を開始 2024/07 GitHub Enterprise [Base permissions] Read → No permission 2024/08 MSI⽣成とデジタル署名を Reusable Workflowsへ移⾏ 2024/09 Self-Hosted Runner 正式に稼働開始 2024/10 Jenkins x Self-Hosted Runner 過渡期の構成確⽴ • インストーラの動作改善 • デジタル署名 処理の最適化 • GitHubへの更なる移⾏推進 • Actionsのデバッグ⽅法 改善 • GitHub/Self-Hosted 混在