Skip to main content

Argumentos e configurações complementares

GitHub Actions Importer tem vários argumentos e configurações complementares para adaptar o processo de migração às suas necessidades.

Aviso legal

Este artigo fornece informações gerais para configurar os argumentos e as configurações complementares do GitHub Actions Importer, como parâmetros opcionais, argumentos de caminho e configurações de rede.

Parâmetros opcionais

GitHub Actions Importer tem vários parâmetros opcionais que você pode usar para personalizar o processo de migração.

Como limitar ações permitidas

As opções a seguir podem ser usadas para limitar quais ações são permitidas em fluxos de trabalho convertidos. Quando usadas em combinação, essas opções expandem a lista de ações permitidas. Se nenhuma dessas opções for fornecida, todas as ações serão permitidas.

  • --allowed-actions especifica uma lista de ações que serão permitidas em fluxos de trabalho convertidos. Há suporte para caracteres curinga. Quaisquer outras ações diferentes das fornecidas não serão permitidas.

    Por exemplo:

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

    Você pode fornecer uma lista vazia a fim de bloquear qualquer ação. Por exemplo, --allowed-actions=.

  • --allow-verified-actions especifica que todas as ações de criadores verificados são permitidas.

  • --allow-github-created-actions especifica que as ações publicadas das organizações githubou actions são permitidas.

    Por exemplo, essas ações incluem github/super-linter e actions/checkout.

    Essa opção é equivalente a executar o --allowed-actions actions/* github/*.

Usando um arquivo de credenciais de autenticação

O parâmetro --credentials-file especifica o caminho para um arquivo que contém credenciais para servidores diferentes que GitHub Actions Importer pode autenticar. Isso é útil quando os scripts de build (como .travis.yml ou jenkinsfile) são armazenados em várias instâncias GitHub Enterprise Server.

Um arquivo de credenciais deve ser um YAML e conter uma lista de combinações de servidor e token de acesso. GitHub Actions Importer usa as credenciais para a URL que mais corresponde à solicitação de rede que está sendo feita.

Por exemplo:

- 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

Para o arquivo de credenciais acima, GitHub Actions Importer usa o token de acesso ghp_mygeneraltoken para autenticar todas as solicitações de rede para https://github.com, a menos que a solicitação de rede seja para um repositório na organização specific_org. Nesse caso, o token ghp_myorgspecifictoken é usado para autenticar.

Provedores alternativos de código-fonte

GitHub Actions Importer pode buscar automaticamente o código-fonte de repositórios que não sejam do GitHub. Um arquivo de credenciais pode especificar o provider, a URL do provedor e as credenciais necessárias para recuperar o código-fonte.

Por exemplo:

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

No exemplo acima, GitHub Actions Importer usa o token super_secret_token para recuperar qualquer código-fonte hospedado em https://gitlab.com.

Os valores com suporte para provider são:

  • github (padrão)
  • gitlab
  • bitbucket_server
  • azure_devops

Como controlar recursos opcionais

Você pode usar a opção --features para limitar os recursos usados em fluxos de trabalho que GitHub Actions Importer cria. Isso é útil para excluir a sintaxe mais recente do GitHub Actions dos fluxos de trabalho ao migrar para uma instância mais antiga do GitHub Enterprise Server. Ao usar a opção --features, você deve especificar a versão do GitHub Enterprise Server para a qual está realizando a migração.

Por exemplo:

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

Os valores com suporte para --features são:

  • all (valor padrão)
  • ghes-latest
  • ghes-<number>, em que <number> é a versão do GitHub Enterprise Server, 3.0 ou posterior. Por exemplo, ghes-3.3.

Veja a lista de sinalizadores de recursos disponíveis pelo GitHub Actions Importer executando o comando list-features. Por exemplo:

Shell
gh actions-importer list-features

Você deverá ver um resultado semelhante ao seguinte.

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

Para alternar sinalizadores de recursos, use um dos seguintes métodos:

  • Use as opções --enable-features e --disable-features ao executar um comando gh actions-importer.
  • Use uma variável de ambiente para cada sinalizador de recurso.

Use as opções --enable-features e --disable-features para selecionar recursos específicos para habilitá-los ou desabilitá-los pelo tempo de duração do comando. Por exemplo, o seguinte comando desabilita o uso de actions/cache e composite-actions:

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

Use o comando configure --features para configurar de maneira interativa os sinalizadores de recursos e gravá-los automaticamente no seu ambiente:

$ 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

Como desabilitar o cache de resposta de rede

Por padrão, GitHub Actions Importer, armazena em cache respostas de solicitações de rede para reduzir a carga de rede e o tempo de execução. Você pode usar a opção --no-http-cache para desabilitar o cache de rede. Por exemplo:

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

Argumentos de caminho

Ao executar GitHub Actions Importer, os argumentos de caminho são relativos ao disco do contêiner, portanto, não há suporte para caminhos absolutos relativos ao computador host do contêiner. Quando GitHub Actions Importer é executado, o diretório do /data contêiner é montado no diretório em que GitHub Actions Importer é executado.

Por exemplo, o comando a seguir, quando usado no diretório /Users/mona, gera o resumo de auditoria GitHub Actions Importer para o diretório /Users/mona/out:

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

Como usar um proxy

Para acessar servidores configurados com um proxy HTTP, você deve definir as seguintes variáveis de ambiente com a URL do proxy:

  • OCTOKIT_PROXY: para qualquer servidor GitHub.
  • HTTP_PROXY (ou HTTPS_PROXY): para qualquer outro servidor.

Por exemplo:

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

Se o proxy exigir autenticação, nome de usuário e senha, estes deverão ser incluídos na URL do proxy. Por exemplo, https://username:[email protected]:port.

Como desabilitar a verificação de certificado TLS

Por padrão, GitHub Actions Importer verifica certificados SSL ao fazer solicitações de rede. Você pode desabilitar a verificação de certificado SSL com a opção --no-ssl-verify. Por exemplo:

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

Partes foram adaptadas do https://github.com/github/gh-actions-importer/ de acordo com a licença 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.