Conexões para GitLab autogerenciamento - AWS CodePipeline

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conexões para GitLab autogerenciamento

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

nota

Esse recurso não está disponível nas regiões Á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 (Oeste dos EUA). AWS GovCloud Para fazer referência a outras ações disponíveis, consulte Integrações de produtos e serviços com CodePipeline. Para considerações sobre essa ação na região Europa (Milão), consulte a nota em CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com e ações GitLab autogerenciadas.

Para adicionar uma ação de origem GitLab autogerenciada CodePipeline, você pode escolher entre:

nota

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

Antes de começar

  • Você já deve ter criado uma conta GitLab e ter a GitLab Enterprise Edition ou a GitLab Community Edition com uma instalação autogerenciada. Consulte mais informações em https://docs.gitlab.com/ee/subscriptions/self_managed/.

    nota

    As conexões fornecem acesso à conta usada para criar e autorizar a conexão.

    nota

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

  • Você já deve ter criado um token de acesso GitLab pessoal (PAT) somente com a seguinte permissão reduzida: api. Consulte mais informações em https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html. Você deve ser um administrador para criar e usar o PAT.

    nota

    O PAT é usado para autorizar o host e não é armazenado ou usado pelas conexões. Para configurar um host, é possível criar um PAT temporário e, depois de configurar o host, você pode excluir o PAT.

  • É possível optar por configurar o host com antecedência. É possível configurar um host com ou sem uma VPC. Para obter detalhes sobre a configuração da VPC e informações adicionais sobre a criação de um host, consulte Criar um host.

Crie uma conexão com o GitLab autogerenciado (console)

Use essas etapas para usar o CodePipeline console para adicionar uma ação de conexões ao seu repositório GitLab autogerenciado.

nota

GitLab as conexões autogerenciadas fornecem acesso somente aos repositórios pertencentes à conta GitLab autogerenciada que foi usada para criar a conexão.

Antes de começar

Para que uma conexão de host seja GitLab autogerenciada, você deve ter concluído as etapas para criar um recurso de host para sua conexão. Consulte Gerenciar hosts para conexões.

Etapa 1: Criar ou editar seu pipeline

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

  2. Escolha uma das seguintes opções.

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

    • 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ções, escolha GitLab autogerenciado.

  3. Execute um destes procedimentos:

    • Em Conexão, se você ainda não tiver criado uma conexão com seu provedor, escolha Conectar ao GitLab autogerenciado. Prossiga para a Etapa 2: Criar uma conexão com o GitLab autogerenciado.

    • Em Conexão, se você já tiver criado uma conexão com seu provedor, escolha a conexão. Vá para a Etapa 3: Salvar a ação de origem para sua conexão.

Crie uma conexão com o GitLab autogerenciado

Depois de escolher criar a conexão, a página Connect to GitLab self-managed é exibida.

Para se conectar ao GitLab autogerenciado
  1. Em Connection name (Nome da conexão), informe um nome para a conexão.

  2. Em URL, insira o endpoint do seu servidor.

    nota

    Se o URL fornecido já tiver sido usado para configurar um host para uma conexão, você será solicitado a escolher o ARN de recurso de host criado anteriormente para esse endpoint.

  3. Se você tiver iniciado o servidor em uma Amazon VPC e quiser se conectar à VPC, selecione Usar uma VPC e preencha as informações da VPC.

  4. Escolha Conectar ao GitLab autogerenciado. A conexão criada é mostrada com um status Pending (Pendente). Um recurso de host é criado para a conexão com as informações do servidor fornecidas. Para o nome do host, o URL é usado.

  5. Selecione Update pending connection (Atualizar conexão pendente).

  6. Se uma página for aberta com uma mensagem de redirecionamento confirmando que você deseja continuar com o provedor, selecione Continuar. Insira a autorização para o provedor.

  7. Uma página Configurar host_name é exibida. Em Fornecer token de acesso pessoal, forneça ao seu GitLab PAT apenas a seguinte permissão com escopo reduzido:. api

    nota

    Somente um administrador pode criar e usar o PAT.

    Escolha Continuar.

    Captura de tela do console mostrando a entrada do token de acesso pessoal GitLab autogerenciado para o novo host
  8. A página de conexão mostra a conexão criada em um status Available (Disponível).

Etapa 3: Salve sua GitLab ação de origem autogerenciada

Execute estas etapas no assistente ou na página Editar ação para salvar a ação de origem com as informações de conexão.

Para concluir e salvar a ação de origem com a conexão
  1. Em Repository name (Nome do repositório), escolha o nome do repositório de terceiros.

  2. Em Gatilhos do Pipeline, você pode adicionar gatilhos se sua ação for uma ação. CodeConnections Para configurar a configuração do gatilho do pipeline e, opcionalmente, filtrar com gatilhos, veja mais detalhes em. Filtrar gatilhos em solicitações push ou pull de código

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

    • Para armazenar artefatos de saída da ação GitLab autogerenciada usando o método padrão, escolha CodePipeline default. A ação acessa os arquivos no repositório e armazena os artefatos em um arquivo ZIP no armazenamento de artefatos do pipeline.

    • Para armazenar um arquivo JSON que contém uma referência de URL ao repositório para que as ações downstream possam executar comandos Git diretamente, escolha Full clone (Clone completo). Essa opção só pode ser usada por ações CodeBuild posteriores.

  4. Escolha Próximo no assistente ou Salvar na página Editar ação.

Crie um host e uma conexão com o GitLab autogerenciado (CLI)

Você pode usar o 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 do AWS CLI ou AWS CloudFormation está no PENDING status por padrão. Depois de criar uma conexão com a CLI ou AWS CloudFormation, use o console para editar a conexão e definir seu status. AVAILABLE

Você pode usar o AWS Command Line Interface (AWS CLI) para criar um host para conexões instaladas.

Você usa um host para representar o endpoint da infraestrutura em que seu provedor de terceiros está instalado. Após concluir a criação do host com a CLI, o host fica no status Pendente. Então, você configura ou registra o host para movê-lo para o status Disponível. Depois que o host estiver disponível, conclua as etapas para criar uma conexão.

Para fazer isso, use o comando create-host.

Importante

Um host criado por meio do Pending status AWS CLI is in por padrão. Após criar um host com a CLI, use o console ou a CLI para configurar o host e tornar seu status Available.

Para criar um host
  1. Abra um terminal (Linux, macOS ou Unix) ou um prompt de comando (Windows). Use o AWS CLI para executar o create-host comando, especificando o --name--provider-type, e --provider-endpoint para sua conexão. Neste exemplo, o nome do provedor de terceiros é GitLabSelfManaged e o endpoint é my-instance.dev.

    aws codestar-connections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"

    Se o comando for bem-sucedido, ele retornará as informações de nome do recurso da Amazon (ARN) do host semelhantes às mostradas a seguir.

    { "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605" }

    Após esta etapa, o host estará no status PENDING.

  2. Use o console para concluir a configuração do host e mova o host para um status Available.

Para criar uma conexão com o GitLab autogerenciado
  1. Abra um terminal (Linux, macOS ou Unix) ou um prompt de comando (Windows). Use o AWS CLI para executar o create-connection comando, especificando --host-arn e --connection-name para sua conexão.

    aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --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" }
  2. Use o console para configurar a 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 configurar a configuração do gatilho do pipeline para filtrar com gatilhos, veja mais detalhes em. Filtrar gatilhos em solicitações push ou pull de código Por exemplo, o seguinte aumenta o nível do pipeline da 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" ] } } ] } } ]