Skip to main content

リポジトリの GitHub Actions の設定を管理する

特定のリポジトリの GitHub Actions を無効化または構成できます。

Note

GitHub ホステッド ランナーは、現在 GitHub Enterprise Server ではサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。

リポジトリの GitHub Actions 権限について

既定では、GitHub Actions の後の が GitHub Enterprise Server で有効になり、 ですべてのリポジトリと組織で有効になります。 GitHub Actions を無効にするか、または Enterprise のアクションに制限することができます。 GitHub Actions について詳しくは、「ワークフローの書き込み」を参照してください。

リポジトリで GitHub Actions を有効化できます。 GitHub Actions を有効にすると、ワークフローはリポジトリ内および他のパブリックまたは内部のリポジトリに配置されているアクションを実行できます。 リポジトリの GitHub Actions を完全に無効化することができます。 GitHub Actionsを無効化すると、リポジトリでワークフローが実行されなくなります。

または、リポジトリで GitHub Actions を有効にしながら、ワークフローが実行できるアクションを制限することもできます。

リポジトリの GitHub Actions 権限を管理する

リポジトリの GitHub Actions を無効にしたり、リポジトリで使用できるアクションを構成するポリシーを設定したりすることもできます。

Note

Organization に優先ポリシーがある場合、または優先ポリシーのある Enterprise によって管理されている場合は、これらの設定を管理できない場合があります。 詳しくは、「Organization について GitHub Actions を無効化または制限する」または「エンタープライズで GitHub Actions のポリシーを適用する」をご覧ください。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。

  4. [Actions permissions] で、オプションを選択します。

    [Allow select actions](選択したアクションを許可する) を選択した場合、エンタープライズ内のアクションが許可され、追加のオプションで、その他の特定のアクションも許可されます。 詳細については、「選択したアクションの実行の許可」を参照してください。

  5. [保存] をクリックします。

選択したアクションの実行の許可

[ [Allow select actions](選択したアクションを許可する) ] を選ぶと、ローカル アクションが許可され、他の特定のアクションを許可するための追加のオプションがあります。

Note

Organization に優先ポリシーがある場合、または優先ポリシーのある Enterprise によって管理されている場合は、これらの設定を管理できない場合があります。 詳しくは、「Organization について GitHub Actions を無効化または制限する」または「エンタープライズで GitHub Actions のポリシーを適用する」をご覧ください。

  • [GitHub によって作成されたアクションを許可する]: GitHub によって作成されたすべてのアクションを、ワークフローで使用できるようにします。 GitHub によって作成されたアクションは、actions および github 組織にあります。 詳しくは、actions および github の Organization をご覧ください。

  • [検証済みの作成者による Marketplace アクションを許可する]: このオプションは、GitHub Connect が有効になっていて、GitHub Actions で構成されている場合に使用できます。 詳細については「GitHub Connect を使用して GitHub.com アクションへの自動アクセスを可能にする」を参照してください。 検証済みの作成者が作成したすべての GitHub Marketplace アクションをワークフローで使用できるようにできます。 GitHubがアクションの作者をパートナーOrganizationとして検証すると、GitHub Marketplaceでアクションの隣にバッジが表示されるようになります。

  • [指定したアクションを許可する]: ワークフローで使用できるアクションを、特定の組織とリポジトリのものに制限します。 指定されたアクションを 1000 を超えるアクションに設定することはできません。

    アクションの特定のタグまたはコミット SHA へのアクセスを制限するには、ワークフローで使われているのと同じ構文を使って、アクションを選びます。

    • アクションの場合の構文は、OWNER/REPOSITORY@TAG-OR-SHA です。 たとえば、タグを選択するには actions/javascript-action@v1.0.1 を使用し、SHA を選択するには actions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f を使用します。 詳しくは、「ワークフローで事前に記述されたレポート パーツを使用する」を参照してください。

    パターンのマッチには、ワイルドカード文字 * を使用できます。 たとえば、space-org で始まる Organization のすべてのアクションを許可するには、space-org*/* と指定できます。 octocat で始まるリポジトリのすべてのアクションを許可するには、*/octocat**@* を使用できます。 * ワイルドカードの使用の詳細については、「GitHub Actions のワークフロー構文」を参照してください。

この手順では、特定のアクションを許可リストに追加する方法を示します。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。

  4. [アクションのアクセス許可] で、[ [Allow select actions](選択したアクションを許可する) ] を選択して、必要なアクションを一覧に追加します。

  5. [保存] をクリックします。

プライベート リポジトリのフォークに対するワークフローを有効にする

プライベート リポジトリのフォークの利用に依存している場合、pull_request イベントの際にユーザーがどのようにワークフローを実行できるかを制御するポリシーを構成できます。 プライベート リポジトリと内部リポジトリでのみ使用でき、Enterprise、Organization、またはリポジトリに対してこれらのポリシー設定を構成できます。

エンタープライズまたは 組織でポリシーが無効になっている場合、リポジトリに対して有効にすることはできません。

  • フォーク pull request からワークフローを実行する - 読み取り専用権限を持ち、シークレットへのアクセス権を持たない GITHUB_TOKEN を使用して、フォーク pull request からワークフローを実行できます。
  • pull request からワークフローに書き込みトークンを送信する - フォークからの pull request で書き込み権限を持つ GITHUB_TOKEN を使用できます。
  • pull request からワークフローにシークレットを送信する - すべてのシークレットを pull request で利用できるようにします。
  • フォークの pull request ワークフローに対して承認を要求する - 書き込みアクセス許可のないコラボレーターからの pull request に対するワークフロー実行には、実行する前に書き込みアクセス許可を持つ誰かからの承認が必要になります。

プライベート リポジトリのフォーク ポリシーを構成する

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。

  4. [Fork pull request workflows](pull request ワークフローのフォーク) で、オプションを選択します。

  5. [保存] をクリックして設定を適用します。

リポジトリに対する GITHUB_TOKEN のアクセス許可の設定

GITHUB_TOKEN に付与される既定のアクセス許可を設定できます。 GITHUB_TOKEN について詳しくは、「自動トークン認証」をご覧ください。 デフォルトとして制限付きアクセス許可セットを選択するか、より幅広く許可をする設定を適用できます。

既定のアクセス許可は、組織の設定でも構成できます。 ご利用のリポジトリが組織に属し、その組織の設定でより制限の厳しい既定値が選択されている場合、リポジトリの設定で同じオプションが選択されて、制限の緩いオプションは無効になります。

リポジトリへの書き込みアクセス権を持っている人は誰でも、ワークフロー ファイルの permissions キーを編集して、GITHUB_TOKEN に付与されたアクセス許可を変更でき、必要に応じて追加または削除できます。 詳細については、permissions をご覧ください。

既定の GITHUB_TOKEN のアクセス許可の構成

既定では、個人アカウントに新しいリポジトリを作成すると、GITHUB_TOKEN には contents スコープと packages スコープの読み取りアクセスのみが付与されます。 組織で新しいリポジトリを作成すると、その設定は組織の設定で構成されているものから継承されます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。

  4. [ワークフローのアクセス許可] で、GITHUB_TOKEN に対してすべてのアクセス許可での読み取りと書き込みのアクセスを許可するか (制限の緩い設定)、contents アクセス許可と packages アクセス許可での読み取りアクセスのみを許可するか (制限された設定) を選びます。

  5. [保存] をクリックして設定を適用します。

GitHub Actions による pull request の作成または承認を回避する

GitHub Actions ワークフローが pull request を作成または承認することを許可または禁止するかを選択できます。

既定では、個人用アカウントで新しいリポジトリを作成する場合、ワークフローは pull request の作成または承認を許可されません。 組織で新しいリポジトリを作成すると、その設定は組織の設定で構成されているものから継承されます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。

  4. [ワークフローのアクセス許可] にある、 [GitHub Actions での pull request の作成と承認を許可する] 設定を使用して、GITHUB_TOKEN で pull request の作成と承認ができるかどうかを構成します。

  5. [保存] をクリックして設定を適用します。

内部リポジトリ内のコンポーネントへのアクセスを許可する

内部リポジトリ内のアクションと再利用可能なワークフローは、同じ 組織またはエンタープライズ内の内部およびプライベート リポジトリと共有できます。内部リポジトリについて詳しくは、「リポジトリについて」を参照してください。

次の手順を使って、内部リポジトリ内のアクションと再利用可能なワークフローにリポジトリの外部からアクセスできるかどうかを構成できます。詳しくは、「アクションとワークフローを企業と共有する」を参照してください。 または、REST API を使用して、アクセスのレベルを設定したり、詳しい情報を取得したりすることができます。 詳しくは、「GitHub Actions のアクセス許可の REST API エンドポイント」と「GitHub Actions のアクセス許可の REST API エンドポイント」をご覧ください。

  1. GitHub で、内部リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。

  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。

  4. [アクセス] で、次のいずれかのアクセス設定を選択します。

    • [アクセスできない] - 他のリポジトリ内のワークフローは、このリポジトリにアクセスできません。
    • <組織名>組織内のリポジトリからアクセス可能 - <組織名>組織の一部である他のリポジトリ内のワークフローは、このリポジトリ内のアクションと再利用可能なワークフローにアクセスできます。 アクセスは、プライベート リポジトリまたは内部リポジトリからのみ許可されます。
    • <エンタープライズ名>エンタープライズ内のリポジトリからアクセスできる - <Enterprise 名>Enterprise の一部である他のリポジトリにあるワークフローは、このリポジトリのアクションと再利用可能なワークフローにアクセスできます。 アクセスは、プライベート リポジトリまたは内部リポジトリからのみ許可されます。
  5. [保存] をクリックして設定を適用します。

プライベート リポジトリ内のコンポーネントへのアクセスを許可する

プライベート リポジトリ内のアクションと再利用可能なワークフローは、同じ組織またはエンタープライズ内の他のプライベート リポジトリと共有できます。 プライベート リポジトリについて詳しくは、「リポジトリについて」を参照してください。

以下の手順を使って、プライベート リポジトリ内のアクションと再利用可能なワークフローにリポジトリの外部からアクセスできるかどうかを構成できます。 詳しくは、「アクションとワークフローを企業と共有する」をご覧ください。あるいは、REST API を使い、アクセス レベルを設定したり、その詳細を取得したりできます。 詳細については、「GitHub Actions のアクセス許可の REST API エンドポイント」および「GitHub Actions のアクセス許可の REST API エンドポイント」を参照してください。

  1. GitHub で、プライベート リポジトリのメイン ページに移動します。
  2. リポジトリ名の下にある [設定] をクリックします。
  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。
  4. [アクセス] で、次のいずれかのアクセス設定を選択します。
    • [アクセスできない] - 他のリポジトリ内のワークフローは、このリポジトリにアクセスできません。
    • <組織名> 組織内のリポジトリからアクセスできる - <組織名> 組織の一部である他のリポジトリ内の再利用可能なワークフローから、このリポジトリ内のアクションとワークフローにアクセスできます。 アクセスはプライベート リポジトリからのみ許可されます。
    • <エンタープライズ名> エンタープライズ内のリポジトリからアクセスできる - <エンタープライズ名> エンタープライズの一部である他のリポジトリ内のワークフローから、このリポジトリ内のアクションと再利用可能なワークフローにアクセスできます。 アクセスはプライベート リポジトリからのみ許可されます。
  5. [保存] をクリックして設定を適用します。

リポジトリ内の GitHub Actions の成果物とログの保持期間を構成する

リポジトリ内の GitHub Actions アーティファクトとログの保持期間を設定できます。

デフォルトでは、ワークフローによって生成された成果物とログファイルは、90日間保持された後自動的に削除されます。 この保持時間を 1 から 400 日の間で変更できます。

保持期間をカスタマイズした場合、適用されるのは新しい成果物とログファイルに対してであり、既存のオブジェクトにさかのぼっては適用されません。 管理されたリポジトリ及びOrganizationについては、最大の保持期間は管理するOrganizationあるいはEnterpriseによって設定された上限を超えることはできません。

ワークフローによって作成された特定のアーティファクトのカスタム保存期間を定義することもできます。 詳しくは、「ワークフローの成果物を削除する」を参照してください。

リポジトリの保持期間を設定する

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。

  4. [成果物、ログ、キャッシュの設定] セクションの [成果物とログの保持] に、新しい値を入力します。

  5. [保存] をクリックして変更を適用します。

リポジトリ用のキャッシュ ストレージの構成

既定では、GitHub Actions が GitHub 用の外部ストレージで使用するキャッシュ ストレージの合計は、1 リポジトリあたり最大 10 GB に制限され、リポジトリに設定できる最大サイズは 25 GB です。 ただし、これらの既定のサイズは、エンタープライズ所有者によって変更されている場合、異なる場合があります。 この制限を超えると、GitHub は新しいキャッシュを保存しますが、合計サイズがリポジトリの制限を下回るまでキャッシュの削除を開始します。

組織またはエンタープライズポリシー設定で許可される最大サイズまで、リポジトリのキャッシュ ストレージの合計サイズを設定できます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左のサイドバーで [アクション] をクリックして、 [全般] をクリックします。

  4. [キャッシュ サイズの制限] で、新しい値を入力します。

  5. [保存] をクリックして変更を適用します。