Примечание.
GitHub Enterprise Serverразмещенные в данный момент средства выполнения не поддерживаются в GitHub.
GitHub Actions на GitHub Enterprise Server предназначен для работы в средах без полного доступа к Интернету. По умолчанию рабочие процессы не могут использовать действия с GitHub.com и из GitHub Marketplace.
Рекомендуется включить автоматический доступ к общедоступным действиям с помощью GitHub Connect интеграции GitHub Enterprise ServerGitHub Enterprise Cloud. См . раздел AUTOTITLE.
Если вы хотите более строго контролировать, какие действия разрешены в вашей организации, вы можете использовать наше средство открытый код actions-sync для синхронизации отдельных репозиториев действий с GitHub.com вашего предприятия.
При обновлении GitHub Enterprise Serverпакетные действия автоматически заменяются версиями по умолчанию в пакете обновления. Это может быть не последняя доступная версия. В качестве рекомендации, если вы используете actions-sync для обновления действий, всегда следует повторно запустить actions-sync после любого GitHub Enterprise Server обновления (основного или дополнительного), чтобы убедиться, что действия остаются актуальными.
Сведения о средстве actions-sync
Средство actions-sync должно быть запущено на компьютере, который может получить доступ к GitHub.com API и 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 , а пространство имен не используется ваш экземпляр GitHub Enterprise Server. См . раздел AUTOTITLE.
Необходимые компоненты
-
Прежде чем использовать средство
actions-sync, убедитесь, что все целевые организации уже существуют на вашем предприятии. В следующем примере показано, как синхронизировать действия с организацией с именемsynced-actions. См . раздел AUTOTITLE. -
Необходимо создать на предприятии, который может создавать personal access token и записывать в репозитории в конечных организациях. См . раздел AUTOTITLE.
-
Если вы хотите синхронизировать пакетные действия в
actionsорганизации ваш экземпляр GitHub Enterprise Server, необходимо быть владельцемactionsорганизации.Примечание.
По умолчанию даже администраторы сайтов не являются владельцами пакетной
actionsорганизации.Чтобы повысить уровень пользователя до владельца объединенной организации
ghe-org-admin-promote, администраторы сайта могут использовать командуactionsв административной оболочке. См. раздел [AUTOTITLE и Доступ к административной оболочке (SSH)](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-org-admin-promote).ghe-org-admin-promote -u USERNAME -o actions
Пример. Использование actions-sync средства
В этом примере показано использование actions-sync средства для синхронизации отдельных действий с GitHub.com корпоративным экземпляром.
Примечание.
В этом примере используется actions-sync sync команда, требующая одновременного GitHub.com доступа к API и API корпоративного экземпляра на компьютере. Если вы можете получить доступ только к одной системе за раз, можно использовать команды actions-sync pull и push. См. раздел actions-sync README.
-
Скачайте и извлеките последний
actions-syncвыпуск операционной системы компьютера. -
Создайте каталог для хранения файлов кэша для средства.
-
В терминале перейдите к каталогу
binв каталоге выпуска, который вы только что извлекли. Например:cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin -
Выполните команду
actions-sync sync../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: A 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-syncREADME.
- В приведенном выше примере репозиторий
-
-
После создания репозитория действий на предприятии пользователи на предприятии могут использовать целевой репозиторий для ссылки на действие в рабочих процессах. Для примера действия, показанного выше:
# Этот рабочий процесс использует действия, которые не сертифицированы GitHub. # Они предоставляются сторонним поставщиком, и на них распространяются # отдельные условия обслуживания, политика конфиденциальности и поддержка # документации. uses: synced-actions/actions-stale@v1