Skip to main content

Дополнительные аргументы и параметры

GitHub Actions Importer имеет несколько дополнительных аргументов и параметров для настройки процесса миграции в соответствии с вашими потребностями.

Юридическое уведомление

В этой статье приведены общие сведения о настройке дополнительных аргументов и параметров GitHub Actions Importer, таких как необязательные параметры, аргументы пути и параметры сети.

Необязательные параметры

GitHub Actions Importer имеет несколько необязательных параметров, которые можно использовать для настройки процесса миграции.

Ограничение разрешенных действий

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

  • --allowed-actions указывает список действий, которые разрешаются в преобразованных рабочих процессах. Поддерживаются подстановочные знаки. Любые другие действия, отличные от указанных действий, будут запрещены.

    Например:

    --allowed-actions actions/checkout@v4 actions/upload-artifact@* my-org/*
    

    Вы можете указать пустой список, чтобы запретить все действия. Например, --allowed-actions=.

  • --allow-verified-actions указывает, что разрешены все действия от проверенных создателей.

  • --allow-github-created-actions указывает, что разрешены действия, опубликованные github из организаций или actions организаций.

    Например, такие действия включают github/super-linter и actions/checkout.

    Этот параметр эквивалентен --allowed-actions actions/* github/*.

Использование файла учетных данных для проверки подлинности

Параметр --credentials-file задает путь к файлу с учетными данными для разных серверов, на которые можно пройти проверку подлинности GitHub Actions Importer. Это полезно, если скрипты сборки (например .travis.yml , или jenkinsfile) хранятся в нескольких экземплярах GitHub Enterprise Server .

Файл учетных данных должен быть файлом YAML, содержащим список сочетаний маркеров сервера и доступа. GitHub Actions Importer использует учетные данные для URL-адреса, который наиболее точно соответствует выполняемой сетевой запрос.

Например:

- url: https://github.com
  access_token: ghp_mygeneraltoken
- url: https://github.com/specific_org/
  access_token: ghp_myorgspecifictoken
- url: https://jenkins.org
  access_token: abc123
  username: marty_mcfly

Для приведенного выше файла учетных данных GitHub Actions Importer использует маркер ghp_mygeneraltoken доступа для проверки подлинности всех сетевых запросов https://github.com, если только сетевой запрос не предназначен для репозитория в specific_org организации. В этом случае ghp_myorgspecifictoken маркер используется для проверки подлинности.

Альтернативные поставщики исходного кода

GitHub Actions Importer может автоматически получать исходный код из репозиториев, отличных от GitHub репозиториев. Файл учетных данных может указать providerurl-адрес поставщика и учетные данные, необходимые для получения исходного кода.

Например:

- url: https://gitlab.com
  access_token: super_secret_token
  provider: gitlab

В приведенном выше примере GitHub Actions Importer использует маркер super_secret_token для получения любого исходного кода, размещенного в https://gitlab.com.

Поддерживаемые значения provider :

  • github (по умолчанию)
  • gitlab
  • bitbucket_server
  • azure_devops

Управление дополнительными функциями

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

Например:

gh actions-importer dry-run ... --features ghes-3.3

Поддерживаемые значения --features :

  • all (значение по умолчанию)
  • ghes-latest
  • ghes-<number>, где <number> используется версия GitHub Enterprise Server 3.0 или более поздней версии. Например, ghes-3.3.

Список доступных флагов функций можно просмотреть с помощью GitHub Actions Importer, выполнив list-features команду. Например:

Shell
gh actions-importer list-features

Должен отобразиться похожий результат:

Available feature flags:

actions/cache (disabled):
        Control usage of actions/cache inside of workflows. Outputs a comment if not enabled.
        GitHub Enterprise Server >= ghes-3.5 required.

composite-actions (enabled):
        Minimizes resulting workflow complexity through the use of composite actions. See https://docs.github.com/en/actions/creating-actions/creating-a-composite-action for more information.
        GitHub Enterprise Server >= ghes-3.4 required.

reusable-workflows (disabled):
        Avoid duplication by re-using existing workflows. See https://docs.github.com/en/actions/using-workflows/reusing-workflows for more information.
        GitHub Enterprise Server >= ghes-3.4 required.

workflow-concurrency-option-allowed (enabled):
        Allows the use of the `concurrency` option in workflows. See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency for more information.
        GitHub Enterprise Server >= ghes-3.2 required.

Enable features by passing --enable-features feature-1 feature-2
Disable features by passing --disable-features feature-1 feature-2

Чтобы переключать флаги компонентов, можно использовать любой из следующих методов:

  • --enable-features Используйте параметры и --disable-features параметры при выполнении gh actions-importer команды.
  • Используйте переменную среды для каждого флага компонента.

Вы можете использовать --enable-features параметры и --disable-features параметры для выбора определенных функций для включения или отключения в течение длительности команды. Например, следующая команда отключает использование actions/cache и composite-actions:

gh actions-importer dry-run ... --disable-features=composite-actions actions/cache

Вы можете использовать команду для интерактивной configure --features настройки флагов компонентов и автоматической записи их в среду:

$ gh actions-importer configure --features

✔ Which features would you like to configure?: actions/cache, reusable-workflows
✔ actions/cache (disabled): Enable
? reusable-workflows (disabled):
› Enable
  Disable

Отключение кэширования сетевых ответов

По умолчанию GitHub Actions Importer кэширует ответы от сетевых запросов для уменьшения сетевой нагрузки и уменьшения времени выполнения. Этот параметр можно использовать --no-http-cache для отключения сетевого кэша. Например:

gh actions-importer forecast ... --no-http-cache

Аргументы пути

При запуске GitHub Actions Importerаргументы пути относятся к диску контейнера, поэтому абсолютные пути относительно хост-компьютера контейнера не поддерживаются. При запуске GitHub Actions Importer каталог контейнера /data подключается к каталогу, в котором выполняется GitHub Actions Importer.

Например, следующая команда при использовании в /Users/mona каталоге выводит сводку аудита GitHub Actions Importer в /Users/mona/out каталог:

gh actions-importer audit --output-dir /data/out

Использование прокси-сервера

Чтобы получить доступ к серверам, настроенным с помощью ПРОКСИ-сервера HTTP, необходимо задать следующие переменные среды с URL-адресом прокси-сервера:

  • OCTOKIT_PROXY: для любого сервера GitHub .
  • HTTP_PROXY (или HTTPS_PROXY): для любых других серверов.

Например:

export OCTOKIT_PROXY=https://proxy.example.com:8443
export HTTPS_PROXY=$OCTOKIT_PROXY

Если прокси-сервер требует проверки подлинности, имя пользователя и пароль должны быть включены в URL-адрес прокси-сервера. Например, https://username:password@proxy.url:port.

Отключение проверки SSL-сертификата

По умолчанию GitHub Actions Importer проверяет SSL-сертификаты при выполнении сетевых запросов. Вы можете отключить проверку SSL-сертификата с --no-ssl-verify помощью параметра. Например:

gh actions-importer audit --output-dir ./output --no-ssl-verify

Части были адаптированы в соответствии с https://github.com/github/gh-actions-importer/ лицензией MIT:

MIT License

Copyright (c) 2022 GitHub

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.