Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Поддержка этой версии GitHub Enterprise была прекращена 2023-01-18. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Синхронизация действий вручную из GitHub.com

Для пользователей, которым требуется доступ к действиям из GitHub.com, можно синхронизировать конкретные действия с вашим предприятием.

Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.

GitHub Actions для GitHub Enterprise Server предназначен для работы в средах без полного доступа к Интернету. По умолчанию рабочие процессы не могут использовать действия с GitHub.com и из GitHub Marketplace.

Чтобы включить доступ к действиям с сайта GitHub.com, рекомендуется включить автоматический доступ ко всем действиям. Это можно сделать с помощью GitHub Connect для интеграции GitHub Enterprise Server с GitHub Enterprise Cloud. Дополнительные сведения см. в статье "Включение автоматического доступа к действиям GitHub.com с помощью GitHub Connect".

Однако если требуется более строгий контроль над тем, какие действия разрешены в организации, вы можете выполнить инструкции в этом руководстве, чтобы использовать средство actions-sync с открытым кодом GitHub для синхронизации отдельных репозиториев действий с сайта GitHub.com с предприятием.

Сведения о средстве actions-sync

Средство actions-sync должно быть запущено на компьютере, который может получить доступ к API GitHub.com и API экземпляра GitHub Enterprise Server экземпляра. Компьютер не должен быть подключен к обоим API одновременно.

Если компьютер имеет доступ к обеим системам одновременно, можно выполнить синхронизацию с помощью одной команды actions-sync sync. Если вы можете получить доступ только к одной системе за раз, можно использовать команды actions-sync pull и push.

Средство actions-sync может скачивать с сайта GitHub.com только действия, которые хранятся в общедоступных репозиториях.

Примечание. Средство actions-sync предназначено для использования в системах, где GitHub Connect не включен. При запуске средства в системе с включенным GitHub Connect, может появиться сообщение об ошибке The repository <repo_name> has been retired and cannot be reused. Это означает, что рабочий процесс использовал это действие непосредственно в GitHub.com, а пространство имен прекращено в your GitHub Enterprise Server instance. Дополнительные сведения см. в статье "Автоматическое прекращение использования пространств имен для действий, доступных на сайте GitHub.com".

Предварительные требования

  • Прежде чем использовать средствоactions-sync, убедитесь, что все целевые организации уже существуют на вашем предприятии. В следующем примере показано, как синхронизировать действия с организацией с именем synced-actions. Дополнительные сведения см. в статье "Создание новой организации с нуля".

  • На предприятии необходимо создать personal access token, который может создавать репозитории в целевых организациях и записывать их в нее. Дополнительные сведения см. в разделе Создание personal access token.

  • Если вы хотите синхронизировать объединенные действия в организации с actions your GitHub Enterprise Server instance, необходимо быть владельцем actions организации.

    Примечание. По умолчанию даже администраторы сайта не являются владельцами объединенной организации actions.

    Чтобы повысить уровень пользователя до владельца объединенной организации actions, администраторы сайта могут использовать команду ghe-org-admin-promote в административной оболочке. Дополнительные сведения см. в статье "Доступ к административной оболочке (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.

  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 "actions/stale:synced-actions/actions-stale"

    Приведенная выше команда использует следующие аргументы:

    • --cache-dir: каталог кэша на компьютере, на котором выполняется команда.

    • --destination-token: personal access token для целевого корпоративного экземпляра.

    • --destination-url: URL-адрес целевого экземпляра предприятия.

    • --repo-name: репозиторий действий для синхронизации. Имеет формат owner/repository:destination_owner/destination_repository.

      • В приведенном выше примере репозиторий actions/stale синхронизируется с репозиторием synced-actions/actions-stale в целевом экземпляре предприятия. Перед выполнением приведенной выше команды на предприятии необходимо создать организацию с именем synced-actions.
      • Если :destination_owner/destination_repository не указан, средство использует исходное имя владельца и репозитория для предприятия. Перед выполнением команды на предприятии необходимо создать организацию, имя которой соответствует имени владельца действия. Для хранения синхронизированных действий на предприятии рекомендуется использовать центральную организацию, так как это означает, что при синхронизации действий разных владельцев вам не придется создавать несколько новых организаций.
      • Вы можете синхронизировать несколько действий, заменив параметр --repo-name на --repo-name-list или --repo-name-list-file. Дополнительные сведения см. в файле сведений actions-sync.
  4. После создания репозитория действий на предприятии пользователи на предприятии могут использовать целевой репозиторий для ссылки на действие в рабочих процессах. Для примера действия, показанного выше:

    uses: synced-actions/actions-stale@v1
    

    Дополнительные сведения см. в статье "Синтаксис рабочего процесса для GitHub Actions".