В этой статье содержатся общие сведения о настройке GitHub Actions Importerдополнительных аргументов и параметров, таких как необязательные параметры, аргументы пути и параметры сети.
Необязательные параметры
GitHub Actions Importer имеет несколько необязательных параметров, которые можно использовать для настройки процесса миграции.
Ограничение разрешенных действий
Следующие параметры можно использовать для ограничения того, какие действия разрешены в преобразованных рабочих процессах. При использовании в сочетании эти параметры расширяют список разрешенных действий. Если ни один из этих вариантов не указан, все действия разрешены.
-
--allowed-actionsуказывает список действий, которые разрешаются в преобразованных рабочих процессах. Поддерживаются подстановочные знаки. Любые другие действия, отличные от указанных действий, будут запрещены.Например:
--allowed-actions actions/checkout@v6 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(по умолчанию)gitlabbitbucket_serverazure_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-latestghes-<number>, где<number>используется версия или3.0более поздняя версияGitHub Enterprise Server. Например: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-сертификата
По умолчанию проверяет SSL-сертификаты при выполнении GitHub Actions Importer сетевых запросов. Вы можете отключить проверку 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.