ノート: GitHub Actionsは、GitHub Enterprise Server 2.22で限定ベータとして利用可能でした。 ベータは終了しました。 GitHub Actionsは、GitHub Enterprise Server 3.0以降で一般に利用可能になりました。 詳しい情報については、GitHub Enterprise Server 3.0 のリリースノートを参照してください。
- GitHub Enterprise Server 3.0以降へのアップグレードに関する詳しい情報については「GitHub Enterprise Serverのアップグレード」を参照してください。
- アップグレード後のGitHub Actionsの設定に関する詳しい情報については、GitHub Enterprise Server 3.0のドキュメンテーションを参照してください。
ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。
GitHub Enterprise Server上のGitHub Actionsは、完全なインターネットアクセスのない環境で動作するように設計されています。 デフォルトでは、ワークフローはGitHub.com及びGitHub Marketplaceからのアクションを使うことができません。
GitHub.com からのアクションへのアクセスを有効化する際に推奨されるアプローチは、すべてのアクションへの自動アクセスを有効化することです。 これを行うには、GitHub Connect を使用して GitHub Enterprise Server を GitHub Enterprise Cloud と統合します。 詳しい情報については、「GitHub Connect を使用した GitHub.com アクションへの自動アクセスを有効化する」を参照してください。
However, if you want stricter control over which actions are allowed in your enterprise, you can follow this guide to use GitHub's open source actions-sync
tool to sync individual action repositories from GitHub.com to your enterprise.
actions-sync
ツールについて
actions-sync
ツールは、GitHub.com API と GitHub Enterprise Server インスタンスの API にアクセスできるマシンで実行する必要があります。 両方のマシンに同時に接続する必要はありません。
マシンが両方のシステムに同時にアクセスできる場合、1 つの actions-sync sync
コマンドで同期を実行できます。 一度に 1 つのシステムにのみアクセスできる場合は、actions-sync pull
および push
コマンドを使用できます。
actions-sync
ツールは、パブリックリポジトリに保存されている GitHub.com からのみアクションをダウンロードできます。
必要な環境
-
actions-sync
ツールを使用する前に、すべての宛先 Organization が Enterprise にすでに存在していることを確認する必要があります。 次の例は、synced-actions
という名前の Organization にアクションを同期する方法を示しています。 詳しい情報については、「新しい Organization をゼロから作成する」を参照してください。 -
Enterprise に、宛先 Organization のリポジトリを作成して書き込むことができる個人アクセストークン (PAT) を作成する必要があります。 For more information, see "Creating a personal access token."
-
GitHub Enterprise Serverのインスタンス の
actions
の Organization でバンドルされたアクションを同期する場合は、actions
の Organization の所有者である必要があります。注釈: デフォルト設定では、サイト管理者であってもバンドルされた
actions
の Organization の所有者ではありません。サイト管理者は、管理シェルで
ghe-org-admin-promote
コマンドを使用して、ユーザをバンドルされたactions
の Organization の所有者に昇格させることができます。 詳しい情報については、「管理シェル (SSH) へのアクセス」および「ghe-org-admin-promote
」を参照してください。ghe-org-admin-promote -u USERNAME -o actions
Example: Using the actions-sync
tool
This example demonstrates using the actions-sync
tool to sync an individual action from GitHub.com to an enterprise instance.
Note: This example uses the actions-sync sync
command, which requires concurrent access to both the GitHub.com API and your enterprise instance's API from your machine. If you can only access one system at a time, you can use the actions-sync pull
and push
commands. For more information, see the actions-sync
README.
-
Download and extract the latest
actions-sync
release for your machine's operating system. -
ツールのキャッシュファイルを保存するディレクトリを作成します。
-
Run the
actions-sync sync
command:./actions-sync sync \ --cache-dir "cache" \ --destination-token "aabbccddeeffgg" \ --destination-url "https://my-ghes-instance" \ --repo-name "actions/stale:synced-actions/actions-stale"
上記のコマンドでは、次の引数を使用しています。
-
--cache-dir
: コマンドを実行しているマシンのキャッシュディレクトリ。 -
--destination-token
: 宛先 Enterprise インスタンスの個人アクセストークン。 -
--destination-url
: 宛先 Enterprise インスタンスの URL。 -
--repo-name
: 同期するアクションリポジトリ。 これは、owner/repository:destination_owner/destination_repository
の形式を採用しています。- The above example syncs the
actions/stale
repository to thesynced-actions/actions-stale
repository on the destination enterprise instance. 上記のコマンドを実行する前に、Enterprise でsynced-actions
という名前の Organization を作成する必要があります。 :destination_owner/destination_repository
を省略すると、ツールは Enterprise の元の所有者とリポジトリ名を使用します。 コマンドを実行する前に、アクションの所有者名と一致する新しい Organization を Enterprise に作成する必要があります。 同期されたアクションを Enterprise に保存するために中枢の Organization を使用することを検討してください。これは、異なる所有者からのアクションを同期する場合、複数の新しい Organization を作成する必要がないということです。--repo-name
パラメータを--repo-name-list
または--repo-name-list-file
に置き換えることにより、複数のアクションを同期できます。 詳しい情報については、「actions/cache
README」を参照してください。
- The above example syncs the
-
-
Enterprise でアクションリポジトリが作成された後、Enterprise 内のユーザは、宛先リポジトリを使用してワークフロー内のアクションを参照できます。 上記のアクション例の場合:
uses: synced-actions/actions-stale@v1
詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。