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

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

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

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

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

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

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

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

  Например:

  ```shell
  --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-адреса, который наиболее точно соответствует выполняемой сетевой запрос.

Например:

```yaml
- 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-адрес поставщика и учетные данные, необходимые для получения исходного кода.

Например:

```yaml
- 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 , в которую выполняется миграция.

Например:

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

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

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

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

```shell copy
gh actions-importer list-features
```

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

<!-- markdownlint-disable search-replace -->

```shell
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
```

<!-- markdownlint-enable search-replace -->

Чтобы переключать флаги компонентов, можно использовать любой из следующих методов:
* `--enable-features` Используйте параметры и `--disable-features` параметры при выполнении `gh actions-importer` команды.
* Используйте переменную среды для каждого флага компонента.

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

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

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

```shell
$ 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` для отключения сетевого кэша. Например:

```shell
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` каталог:

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

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

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

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

Например:

```shell
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` помощью параметра. Например:

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

## Юридическая информация

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

```text
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.
```