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

Manually syncing actions from GitHub.com

GitHub.com からのアクションにアクセスする必要があるユーザは、特定のアクションを GitHub Enterprise Server インスタンスに同期できます。

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

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

GitHub Actions on GitHub Enterprise Server is designed to work in environments without internet access. By default, workflows cannot use actions from GitHub.com and GitHub Marketplace.

GitHub.com の特定のアクションをワークフローで使用できるようにするには、GitHub のオープンソースの actions-sync ツールを使用して、アクションリポジトリを GitHub.com から Enterprise インスタンスに同期します。 GitHub.com からアクションにアクセスする他の方法については、「GitHub Enterprise Server での GitHub.com アクションの使用について」を参照してください。

About the actions-sync tool

actions-sync ツールは、GitHub.com API と GitHub Enterprise Server インスタンスの API にアクセスできるマシンで実行する必要があります。 The machine doesn't need to be connected to both at the same time.

If your machine has access to both systems at the same time, you can do the sync with a single actions-sync sync command. If you can only access one system at a time, you can use the actions-sync pull and push commands.

actions-sync ツールは、パブリックリポジトリに保存されている GitHub.com からのみアクションをダウンロードできます。

必要な環境

  • Before using the the actions-sync tool, you must ensure that all destination organizations already exist on your enterprise instance. The following example demonstrates how to sync actions to an organization named synced-actions on an enterprise instance. For more information, see "Creating a new organization from scratch."
  • You must create a personal access token (PAT) on your enterprise instance that can create and write to repositories in the destination organizations. 詳しい情報については、「個人アクセストークンを作成する」を参照してください。

Example: Using the actions-sync tool

この例は、actions-sync ツールを使用して、個々のアクションを GitHub.com から Enterprise インスタンスに同期する方法を示しています。

注釈: この例では、actions-sync sync コマンドを使用します。これには、マシンから GitHub.com API と GitHub Enterprise Server インスタンスの API の両方への同時アクセスが必要です。 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.

  1. Download and extract the latest actions-sync release for your machine's operating system.

  2. Create a directory to store cache files for the tool.

  3. Run the actions-sync sync command:

    ./actions-sync sync \
      --cache-dir "cache" \
      --destination-token "aabbccddeeffgg" \
      --destination-url "https://my-ghes-instance" \
      --repo-name "docker/build-push-action:synced-actions/docker-build-push-action"

    The above command uses the following arguments:

    • --cache-dir: The cache directory on the machine running the command.

    • --destination-token: A personal access token for the destination enterprise instance.

    • --destination-url: The URL of the destination enterprise instance.

    • --repo-name: The action repository to sync. This takes the format of owner/repository:destination_owner/destination_repository.

      • 上記の例では、docker/build-push-action リポジトリを宛先 GitHub Enterprise Server インスタンスの synced-actions/docker-build-push-action リポジトリに同期します。 You must create the organization named synced-actions on your enterprise instance before running the above command.
      • If you omit :destination_owner/destination_repository, the tool uses the original owner and repository name for your enterprise instance. Before running the command, you must create a new organization on your instance that matches the owner name of the action. Consider using a central organization to store the synced actions on your instance, as this means you will not need to create multiple new organizations if you sync actions from different owners.
      • You can sync multiple actions by replacing the --repo-name parameter with --repo-name-list or --repo-name-list-file. For more information, see the actions-sync README.
  4. After the action repository is created on your enterprise instance, people in your enterprise can use the destination repository to reference the action in their workflows. For the example action shown above:

    uses: synced-actions/docker-build-push-action@v1
    

    詳しい情報については、「GitHub Actionsのワークフロー構文」を参照してください。

Did this doc help you?

Privacy policy

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.