ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

ワークフローを Organization と共有する

ワークフローテンプレート、シークレット、およびセルフホストランナーを共有することで、Organization 機能を使用して Team とコラボレーションする方法を学びます。

ここには以下の内容があります:

Did this doc help you?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.

GitHub Actions の支払いを管理する GitHubは、macOSランナーのホストにMacStadiumを使用しています。

概要

ワークフローやその他の GitHub Actions 機能を Team と共有する必要がある場合は、GitHub Organization 内でのコラボレーションを検討します。 Organization を使用すると、シークレット、アーティファクト、およびセルフホストランナーを一元的に保存および管理できます。 .github リポジトリにワークフローテンプレートを作成して、Organization 内の他のユーザと共有することもできます。

ワークフロー テンプレートの作成

ワークフローテンプレートは、組織の .github リポジトリへの書き込みアクセス権を持つユーザーによって作成できます。 その後、ワークフローを作成する権限を持つ組織メンバーがテンプレートを使用できます。 ワークフロー テンプレートを使用すると、組織のパブリック リポジトリに新しいワークフローを作成できます。テンプレートを使用してプライベートリポジトリにワークフローを作成するには、組織がエンタープライズプランまたはGitHub Oneプランの一部である必要があります。

この手順では、ワークフロー テンプレートとメタデータ ファイルを作成する方法を示します。 メタデータ ファイルには、ユーザーが新しいワークフローを作成するときにテンプレートがどのように表示されるかについて説明します。

  1. 存在しない場合は、組織内で .github `という名前の新しいパブリック リポジトリを作成します。

  2. ワークフロー テンプレートという名前のディレクトリ 作成`。
  3. ワークフローテンプレート ディレクトリ内に新しいワークフローファイルを作成します。

    リポジトリのデフォルトブランチを参照する必要がある場合は、 $default-branch プレースホルダを使用できます。 テンプレートを使用してワークフローを作成すると、プレースホルダはリポジトリのデフォルトブランチの名前に自動的に置き換えられます。

    たとえば、octo-organization-ci.yml `名前のこのファイルは、基本的なワークフローを示しています。

       name: Octo Organization CI
    
       :
         プッシュ:
           ブランチ: [ $default-ブランチ ]
         pull_request:
           ブランチ: [ $default-ブランチ]
    
       ジョブ:
         ビルド:
           実行: ubuntu-最新
    
           ステップ:
           - 使用: アクション/checkout@v2
    
           - 名前: 1 行スクリプトを実行
             実行します: Octo Organization から hello をエコーします
    `
  4. ワークフローテンプレート ディレクトリ内にメタデータファイルを作成します。 メタデータ ファイルは、ワークフロー ファイルと同じ名前である必要がありますが、 .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」を参照してください。
    • ファイルパターン - オプション 定義された正規表現に一致するファイルがユーザーのリポジトリのルート ディレクトリにある場合に、テンプレートを使用できるようにします。

別のワークフロー テンプレートを追加するには、同じ ワークフロー テンプレート ディレクトリにファイルを追加します。 例:

ワークフロー テンプレート ファイル

ワークフロー テンプレートの使用

この手順では、組織のメンバーがワークフロー テンプレートを検索して使用して新しいワークフローを作成する方法を示します。 組織のワークフロー テンプレートは、組織のメンバーであるすべてのユーザーが使用できます。

  1. GitHubで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下でActions(アクション)をクリックしてください。
    メインのリポジトリナビゲーション内のアクションタブ
  3. リポジトリに既存のワークフローが既に存在する場合: 左上隅にある [新しいワークフロー**] をクリックします。
    新規ワークフローの選択

  4. 1 組織のワークフロー テンプレートは、組織名で作成されたワークフロー"というタイトルの独自 _セクションにあります。 使いたいテンプレート名の下で、Set up this workflow(このワークフローをセットアップする)をクリックしてください。 このワークフローを設定します

Organization 内でシークレットを共有する

Organization 内でシークレットを一元管理し、選択したリポジトリで使用できるようにすることができます。 これは、1 つの場所でシークレットを更新し、その変更をシークレットを使用するすべてのリポジトリワークフローに適用できるということを示します。

組織でシークレットを作成する場合、ポリシーを使用して、そのシークレットにアクセスできるリポジトリを制限できます。 たとえば、すべてのリポジトリにアクセスを許可したり、プライベート リポジトリまたは指定したリポジトリ のリストのみにアクセスを制限したりできます。

Organizationのレベルでシークレットを作成するには、管理アクセス権を持っていなければなりません。

  1. GitHubで、Organizationのメインページにアクセスしてください。
  2. Organization名の下で、Settings(設定)をクリックしてください。
    Organizationの設定ボタン
  3. 左サイドバーで [Secrets] をクリックします。
  4. [新しいシークレット ****] をクリックします。
  5. [名前] 入力ボックスにシークレットの名前 入力します。
  6. 1 シークレットの を入力します。 1 [ リポジトリアクセス ドロップダウン リストから、アクセス ポリシーを選択します。 1 [Add secret**] をクリックします。

Organization 内でセルフホストランナーを共有する

Organization の管理者は、セルフホストランナーをグループに追加してから、グループにアクセスできるリポジトリを制御するポリシーを作成できます。

詳しい情報については、「グループを使用したセルフホストランナーへのアクセスを管理する」を参照してください。

次のステップ

GitHub Actions の詳細については、「GitHub Actions のセキュリティ強化」を参照してください。

Did this doc help you?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.