Skip to main content

Ручная синхронизация действий из #REF!.com

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

Примечание.

GitHubразмещенные в данный момент средства выполнения не поддерживаются в GitHub Enterprise Server.

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

Мы рекомендуем включить автоматический доступ к общедоступным действиям с помощью GitHub Connect для интеграции GitHub Enterprise Server с GitHub Enterprise Cloud. См . раздел AUTOTITLE.

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

При обновлении GitHub Enterprise Serverпакетные действия автоматически заменяются версиями по умолчанию в пакете обновления. Это может быть не последняя доступная версия. В качестве рекомендации, если вы используете для обновления действий, всегда следует повторно запускать после любого обновления GitHub Enterprise Server (основное или дополнительное), чтобы убедиться, что действия остаются актуальными.

Сведения о средстве

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

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

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

Примечание.

Это средство предназначено для использования в системах, где не включено GitHub Connect . При запуске средства в системе с включенным GitHub Connect, может появиться сообщение об ошибке . Это означает, что рабочий процесс использовал это действие непосредственно на GitHub.com и пространство имен удаляется на ваш экземпляр GitHub Enterprise Server. См . раздел AUTOTITLE.

Необходимые компоненты

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

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

  • Если вы хотите синхронизировать пакетные действия в организации на ваш экземпляр GitHub Enterprise Server, необходимо быть владельцем организации.

    Примечание.

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

    Чтобы повысить уровень пользователя до владельца объединенной организации , администраторы сайта могут использовать команду в административной оболочке. См. раздел AUTOTITLE и AUTOTITLE.

    ghe-org-admin-promote -u USERNAME -o actions
    

Пример. Использование средства

В этом примере показано использование средства для синхронизации отдельного действия с GitHub.com с корпоративным экземпляром.

Примечание.

В этом примере используется команда, для которой требуется одновременный доступ к API GitHub.com и API корпоративного экземпляра на компьютере. Если вы можете получить доступ только к одной системе за раз, можно использовать команды и . См. раздел README.

  1. Скачайте и извлеките последний выпуск операционной системы компьютера.

  2. Создайте каталог для хранения файлов кэша для средства.

  3. В терминале перейдите к каталогу в каталоге выпуска, который вы только что извлекли. Например:

    cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin
    
  4. Выполните команду .

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

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

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

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

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

    • : репозиторий действий для синхронизации. Имеет формат .

      • В приведенном выше примере репозиторий синхронизируется с репозиторием в целевом экземпляре предприятия. Перед выполнением приведенной выше команды на предприятии необходимо создать организацию с именем .
      • Если не указан, средство использует исходное имя владельца и репозитория для предприятия. Перед выполнением команды на предприятии необходимо создать организацию, имя которой соответствует имени владельца действия. Для хранения синхронизированных действий на предприятии рекомендуется использовать центральную организацию, так как это означает, что при синхронизации действий разных владельцев вам не придется создавать несколько новых организаций.
      • Вы можете синхронизировать несколько действий, заменив параметр на или . См. раздел README.
  5. После создания репозитория действий на предприятии пользователи на предприятии могут использовать целевой репозиторий для ссылки на действие в рабочих процессах. Для примера действия, показанного выше:

    # Этот рабочий процесс использует действия, которые не сертифицированы GitHub.
    # Они предоставляются сторонним поставщиком, и на них распространяются
    # отдельные условия обслуживания, политика конфиденциальности и поддержка
    # документации.
    uses: synced-actions/actions-stale@v1
    

    См . раздел AUTOTITLE.