Conexões do Gitlab.com - AWS CodePipeline

Conexões do Gitlab.com

As conexões permitem que você autorize e estabeleça configurações que associem seu provedor de terceiros aos recursos da AWS. Para associar seu repositório de terceiros como origem do pipeline, use uma conexão.

nota

Em vez de criar ou usar uma conexão existente na conta, você pode usar uma conexão compartilhada entre outra Conta da AWS. Consulte Usar uma conexão compartilhada com outra conta.

nota

Este atributo não está disponível na região Ásia-Pacífico (Hong Kong), Ásia-Pacífico (Hyderabad), Ásia-Pacífico (Jacarta), Ásia-Pacífico (Melbourne), Ásia-Pacífico (Osaka), África (Cidade do Cabo), Oriente Médio (Bahrein), Oriente Médio (EAU), Europa (Espanha), Europa (Zurique), Israel (Tel Aviv) ou AWS GovCloud (Oeste dos EUA). Para fazer referência a outras ações disponíveis, consulte Integrações de produtos e serviços com o CodePipeline. Para considerações sobre essa ação na região Europa (Milão), consulte a nota em CodeStarSourceConnection para ações gerenciadas do Bitbucket Cloud, do GitHub, do GitHub Enterprise Server, do GitLab.com e do GitLab.

Para adicionar uma ação de origem do GitLab.com no CodePipeline, você pode optar entre:

nota

É possível criar uma conexão por meio do console do Developer Tools em Configurações. Consulte Criar uma conexão.

nota

Ao autorizar a instalação dessa conexão no GitLab.com, você concede ao nosso serviço permissões para processar seus dados acessando sua conta e pode revogá-las a qualquer momento desinstalando a aplicação.

Antes de começar:

  • É necessário que você já tenha criado uma conta no GitLab.com.

    nota

    As conexões fornecem acesso somente a repositórios pertencentes à conta usada para criar e autorizar a conexão.

    nota

    Você pode criar conexões com um repositório em que tenha a função de Proprietário no GitLab e, depois, a conexão pode ser usada com o repositório com recursos como o CodePipeline. Para repositórios em grupos, você não precisa ser o proprietário do grupo.

  • Para especificar uma origem para seu pipeline, é necessário que você já tenha criado um repositório no gitlab.com.

Criar uma conexão com o GitLab.com (console)

Execute estas etapas para usar o console do CodePipeline para adicionar uma ação de conexão para seu projeto (repositório) no GitLab.

Para criar ou editar seu pipeline
  1. Faça login no console do CodePipeline.

  2. Escolha uma das opções a seguir.

    • Opte por criar um pipeline. Siga as etapas em Criar um pipeline para concluir a primeira tela e escolha Próximo. Na página Origem, em Provedor de origem, escolha GitLab.

    • Opte por editar um pipeline existente. Escolha Editar e, em seguida, escolha Editar estágio. Escolha adicionar ou editar sua ação de origem. Na página Editar ação, em Nome da ação, insira um nome para a ação. Em Provedor de ação, selecione GitLab.

  3. Execute um destes procedimentos:

    • Em Conexão, se você ainda não criou uma conexão com seu provedor, escolha Conectar-se ao GitLab. Vá para a Etapa 4 para criar uma conexão.

    • Em Conexão, se você ainda não criou uma conexão com seu provedor, escolha a conexão. Vá para a etapa 9.

    nota

    Se você fechar a janela pop-up antes de criar uma conexão com o GitLab.com, precisará atualizar a página.

  4. Para criar uma conexão com um repositório do GitLab.com, em Selecionar um provedor, escolha GitLab. Em Connection name (Nome da conexão), digite o nome da conexão que você deseja criar. Selecione Conectar-se ao GitLab.

    Captura de tela do console mostrando a opção de conexão selecionada para GitLab.
  5. Quando a página de login do GitLab.com for exibida, faça login com suas credenciais e escolha Fazer login.

  6. Se esta é a primeira vez que você autoriza a conexão, uma página de autorização é exibida com uma mensagem solicitando autorização para a conexão acessar sua conta do GitLab.com.

    Escolha Authorize.

    Captura de tela mostrando a mensagem para autorizar a conexão da sua conta do GitLab.com.
  7. O navegador retorna à página do console de conexões. Em Criar conexão com o GitLab, a nova conexão é mostrada em Nome da conexão.

  8. Selecione Conectar-se ao GitLab.

    Você retornará ao console do CodePipeline.

    nota

    Depois que uma conexão com o GitLab.com é criada com êxito, um banner de sucesso será exibido na janela principal.

    Se você não tiver feito login anteriormente no GitLab na máquina atual, precisará fechar manualmente a janela pop-up.

  9. Em Nome do repositório, escolha o nome do seu projeto no GitLab especificando o caminho do projeto com o namespace. Por exemplo, para um repositório em nível de grupo, insira o nome do repositório no seguinte formato: group-name/repository-name. Para obter mais informações sobre o caminho e o namespace, consulte o campo path_with_namespace em https://docs.gitlab.com/ee/api/projects.html#get-single-project. Para obter mais informações sobre o namespace no GitLab, consulte https://docs.gitlab.com/ee/user/namespace/.

    nota

    Para grupos no GitLab, é necessário especificar manualmente o caminho do projeto com o namespace. Por exemplo, para um repositório myrepo em um grupo mygroup, insira o seguinte: mygroup/myrepo. No GitLab, você pode encontrar o caminho do projeto por meio do namespace do URL.

  10. Na seção Gatilhos do pipeline, é possível configurar gatilhos caso a ação seja do CodeConnections. Para definir a configuração de gatilhos do pipeline e, se necessário, aplicar filtros, consulte mais detalhes em Adicionar gatilho com tipos de eventos code push ou pull request.

  11. Em Branch name (Nome da ramificação), escolha a ramificação onde deseja que o pipeline detecte alterações de origem.

    nota

    Se o nome da ramificação não for preenchido automaticamente, você não terá acesso de Proprietário ao repositório. O nome do projeto não é válido ou a conexão usada não tem acesso ao projeto/repositório.

  12. Em Output artifact format (Formato de artefato de saída), você deve escolher o formato para seus artefatos.

  13. Opte por salvar a ação de origem e continuar.

Criar uma conexão com o GitLab.com (CLI)

É possível usar a AWS Command Line Interface (AWS CLI) para criar uma conexão.

Para fazer isso, use o comando create-connection.

Importante

Uma conexão criada por meio da AWS CLI ou do AWS CloudFormation permanece no status PENDING por padrão. Depois de criar uma conexão com a CLI ou o CloudFormation, use o console para editar a conexão e tornar seu status AVAILABLE.

Como criar uma conexão
  1. Abra um terminal (Linux, macOS ou Unix) ou um prompt de comando (Windows). Use a AWS CLI para executar o comando create-connection, especificando o --provider-type e o --connection-name para sua conexão. Neste exemplo, o nome do provedor de terceiros é GitLab e o nome da conexão especificada é MyConnection.

    aws codestar-connections create-connection --provider-type GitLab --connection-name MyConnection

    Se tiver êxito, esse comando gerará as informações do ARN de conexão semelhantes às seguintes.

    { "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad-4d5d-8878-dfcab0bc441f" }
  2. Use o console para concluir a conexão. Para obter mais informações, consulte Atualizar uma conexão pendente.

  3. O pipeline assume como padrão a detecção de alterações ao enviar o código por push ao repositório de origem da conexão. Para definir a configuração do gatilho do pipeline para liberação manual ou para tags Git, execute um dos seguintes procedimentos:

    • Para definir a configuração do gatilho do pipeline para início somente por meio de liberação manual, adicione a seguinte linha à configuração:

      "DetectChanges": "false",
    • Para definir a configuração de gatilhos do pipeline e aplicar filtros, consulte mais detalhes em Adicionar gatilho com tipos de eventos code push ou pull request. Por exemplo, o trecho a seguir é adicionado ao nível do pipeline na definição JSON do pipeline. Neste exemplo, release-v0 e release-v1 são as tags Git a serem incluídas, enquanto release-v2 são as tags Git a serem excluídas.

      "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]