В этой статье приведены общие сведения о настройке дополнительных аргументов и параметров 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 репозиториев. Файл учетных данных может указать provider
url-адрес поставщика и учетные данные, необходимые для получения исходного кода.
Например:
- 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 Server3.0
или более поздней версии. Например,ghes-3.3
.
Список доступных флагов функций можно просмотреть с помощью GitHub Actions Importer, выполнив list-features
команду. Например:
gh actions-importer list-features
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.