GitHub Actions の支払いを管理する GitHubは、macOSランナーのホストにMacStadiumを使用しています。
概要
ワークフローやその他の GitHub Actions 機能を Team と共有する必要がある場合は、GitHub Organization 内でのコラボレーションを検討します。 Organization を使用すると、シークレット、アーティファクト、およびセルフホストランナーを一元的に保存および管理できます。 .github リポジトリにワークフローテンプレートを作成して、Organization 内の他のユーザと共有することもできます。
ワークフロー テンプレートの作成
ワークフローテンプレートは、組織の .github リポジトリへの書き込みアクセス権を持つユーザーによって作成できます。 その後、ワークフローを作成する権限を持つ組織メンバーがテンプレートを使用できます。 ワークフロー テンプレートを使用すると、組織のパブリック リポジトリに新しいワークフローを作成できます。テンプレートを使用してプライベートリポジトリにワークフローを作成するには、組織がエンタープライズプランまたはGitHub Oneプランの一部である必要があります。
この手順では、ワークフロー テンプレートとメタデータ ファイルを作成する方法を示します。 メタデータ ファイルには、ユーザーが新しいワークフローを作成するときにテンプレートがどのように表示されるかについて説明します。
-
存在しない場合は、組織内で .github `という名前の新しいパブリック リポジトリを作成します。
- ワークフロー テンプレートという名前のディレクトリ
作成`。 ワークフローテンプレートディレクトリ内に新しいワークフローファイルを作成します。リポジトリのデフォルトブランチを参照する必要がある場合は、
$default-branchプレースホルダを使用できます。 テンプレートを使用してワークフローを作成すると、プレースホルダはリポジトリのデフォルトブランチの名前に自動的に置き換えられます。たとえば、octo-organization-ci.yml`名前のこのファイルは、基本的なワークフローを示しています。name: Octo Organization CI : プッシュ: ブランチ: [ $default-ブランチ ] pull_request: ブランチ: [ $default-ブランチ] ジョブ: ビルド: 実行: ubuntu-最新 ステップ: - 使用: アクション/checkout@v2 - 名前: 1 行スクリプトを実行 実行します: Octo Organization から hello をエコーします ``名前のワークフローファイルのメタデータが含まれています。ワークフローテンプレートディレクトリ内にメタデータファイルを作成します。 メタデータ ファイルは、ワークフロー ファイルと同じ名前である必要がありますが、.yml拡張子の代わりに、.properties.jsonを付ける必要があります。 たとえば、octo-organization-ci.properties.json名前のこのファイルには、octo-organization-ci.yml{ "名前" " " " " " " " " " "説明" " "説明" " " "" "アイコン" " "example-icon" "" " "" " " " [ "go" ] "filePatterns" [ "package.json$" 」 、 "^Dockerfile" `名- 必須 。 ワークフロー テンプレートの名前。 これは、使用可能なテンプレートの一覧に表示されます。説明- 必須 。 ワークフロー テンプレートの説明。 これは、使用可能なテンプレートの一覧に表示されます。アイコン名前- 必須 。 テンプレート リスト内のワークフローのエントリのアイコンを定義します。iconNameは、同じ名前の SVG アイコンである必要があり、ワークフローテンプレートディレクトリに格納する必要があります。 たとえば、example-icon.svg名前の SVG ファイルは、 <code>例アイコンとして参照されます。カテゴリ- オプション 。 ワークフローの言語カテゴリを定義します。 ユーザーが使用可能なテンプレートを表示すると、同じ言語に一致するテンプレートの機能が顕著になります。 使用可能な言語カテゴリについては、「https://github.com/github/linguist/blob/master/lib/linguist/languages.yml」を参照してください。ファイルパターン- オプション 。 定義された正規表現に一致するファイルがユーザーのリポジトリのルート ディレクトリにある場合に、テンプレートを使用できるようにします。
別のワークフロー テンプレートを追加するには、同じ ワークフロー テンプレート ディレクトリにファイルを追加します。 例:

ワークフロー テンプレートの使用
この手順では、組織のメンバーがワークフロー テンプレートを検索して使用して新しいワークフローを作成する方法を示します。 組織のワークフロー テンプレートは、組織のメンバーであるすべてのユーザーが使用できます。
- GitHubで、リポジトリのメインページにアクセスしてください。
- リポジトリ名の下でActions(アクション)をクリックしてください。

- リポジトリに既存のワークフローが既に存在する場合: 左上隅にある [新しいワークフロー**] をクリックします。
1
組織のワークフロー テンプレートは、組織名で作成されたワークフロー"というタイトルの独自 _セクションにあります。 使いたいテンプレート名の下で、Set up this workflow(このワークフローをセットアップする)をクリックしてください。
Organization 内でシークレットを共有する
Organization 内でシークレットを一元管理し、選択したリポジトリで使用できるようにすることができます。 これは、1 つの場所でシークレットを更新し、その変更をシークレットを使用するすべてのリポジトリワークフローに適用できるということを示します。
組織でシークレットを作成する場合、ポリシーを使用して、そのシークレットにアクセスできるリポジトリを制限できます。 たとえば、すべてのリポジトリにアクセスを許可したり、プライベート リポジトリまたは指定したリポジトリ のリストのみにアクセスを制限したりできます。
Organizationのレベルでシークレットを作成するには、管理アクセス権を持っていなければなりません。
- GitHubで、Organizationのメインページにアクセスしてください。
- Organization名の下で、Settings(設定)をクリックしてください。

- 左サイドバーで [Secrets] をクリックします。
- [新しいシークレット ****] をクリックします。
- [名前] 入力ボックスにシークレットの名前 入力します。 1 シークレットの 値 を入力します。 1 [ リポジトリアクセス ドロップダウン リストから、アクセス ポリシーを選択します。 1 [Add secret**] をクリックします。
Organization 内でセルフホストランナーを共有する
Organization の管理者は、セルフホストランナーをグループに追加してから、グループにアクセスできるリポジトリを制御するポリシーを作成できます。
詳しい情報については、「グループを使用したセルフホストランナーへのアクセスを管理する」を参照してください。
次のステップ
GitHub Actions の詳細については、「GitHub Actions のセキュリティ強化」を参照してください。

