Criar um pipeline que use o CodeBuild (AWS CLI) - AWS CodeBuild

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á.

Criar um pipeline que use o CodeBuild (AWS CLI)

Use o procedimento a seguir para criar um pipeline usado CodeBuild para criar seu código-fonte.

Para usar o AWS CLI para criar um pipeline que implante seu código-fonte construído ou que apenas teste seu código-fonte, você pode adaptar as instruções em Editar um pipeline (AWS CLI) e a referência da estrutura do CodePipeline pipeline no Guia do AWS CodePipeline usuário.

  1. Crie ou identifique um projeto de construção em CodeBuild. Para obter mais informações, consulte Criar um projeto de compilação.

    Importante

    O projeto de construção deve definir as configurações do artefato de saída da construção (mesmo que as CodePipeline substitua). Para obter mais informações, consulte a descrição de artifacts em Criar um projeto de compilação (AWS CLI).

  2. Verifique se você configurou o AWS CLI com a chave de AWS acesso e a chave de acesso AWS secreta que correspondem a uma das IAM entidades descritas neste tópico. Para obter mais informações, consulte Noções básicas de configuração da AWS Command Line Interface no Guia do usuário da AWS Command Line Interface .

  3. Crie um arquivo JSON formatado que represente a estrutura do pipeline. Nomeie o arquivo como create-pipeline.json ou algo similar. Por exemplo, essa estrutura JSON formatada cria um pipeline com uma ação de origem que faz referência a um bucket de entrada do S3 e uma ação de construção que usa: CodeBuild

    { "pipeline": { "roleArn": "arn:aws:iam::<account-id>:role/<AWS-CodePipeline-service-role-name>", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "<bucket-name>", "S3ObjectKey": "<source-code-file-name.zip>" }, "runOrder": 1 } ] }, { "name": "Build", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Build", "actionTypeId": { "category": "Build", "owner": "AWS", "version": "1", "provider": "CodeBuild" }, "outputArtifacts": [ { "name": "default" } ], "configuration": { "ProjectName": "<build-project-name>" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "<CodePipeline-internal-bucket-name>" }, "name": "<my-pipeline-name>", "version": 1 } }

    Nesses JSON dados formatados:

    • O valor de roleArn deve corresponder ao ARN da função de CodePipeline serviço que você criou ou identificou como parte dos pré-requisitos.

    • Os valores de S3Bucket e S3ObjectKey na configuration presumem que o código-fonte esteja armazenado no bucket do S3. Para configurações de outros tipos de repositório de código-fonte, consulte a referência da estrutura do CodePipeline pipeline no Guia do AWS CodePipeline usuário.

    • O valor de ProjectName é o nome do projeto de CodeBuild construção que você criou anteriormente neste procedimento.

    • O valor de location é o nome do bucket S3 usado por este pipeline. Para obter mais informações, consulte Criar uma política para usar um bucket do S3 como armazenamento de artefatos CodePipeline no Guia do AWS CodePipeline usuário.

    • O valor de name é o nome deste pipeline. Todos os nomes de pipeline devem ser únicos em sua conta.

    Embora esses dados descrevam somente uma ação de origem e uma ação de construção, você pode adicionar ações para atividades relacionadas a testes, implantação do artefato de saída de compilação, invocação de AWS Lambda funções e muito mais. Para obter mais informações, consulte Referência da estrutura do pipeline do AWS CodePipeline no Guia do usuário do AWS CodePipeline .

  4. Alterne para a pasta que contém o JSON arquivo e execute o CodePipeline create-pipeline comando, especificando o nome do arquivo:

    aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
    nota

    Você deve criar o pipeline em uma AWS região em que CodeBuild haja suporte. Para ter mais informações, consulte AWS CodeBuild no Referência geral da Amazon Web Services.

    Os dados JSON formatados aparecem na saída e CodePipeline criam o pipeline.

  5. Para obter informações sobre o status do pipeline, execute o CodePipeline get-pipeline-state comando, especificando o nome do pipeline:

    aws codepipeline get-pipeline-state --name <my-pipeline-name>

    Na saída, procure informações que confirme que o build foi executado com sucesso. As elipses (...) são usadas para exibir dados que foram omitidos para agilizar.

    { ... "stageStates": [ ... { "actionStates": [ { "actionName": "CodeBuild", "latestExecution": { "status": "SUCCEEDED", ... }, ... } ] } ] }

    Se você executar esse comando muito cedo, poderá não ver as informações sobre a ação de build. Você pode precisar executar esse comando várias vezes até que o pipeline tenha concluído a execução da ação de build.

  6. Depois de um build bem-sucedido, siga estas instruções para obter o artefato de saída de build. Abra o console do Amazon S3 em. https://console.aws.amazon.com/s3/

    nota

    Você também pode obter o artefato de saída da compilação escolhendo o link Construir artefatos na página de detalhes da compilação relacionada no CodeBuild console. Para exibir essa página, despreze as etapas restantes deste procedimento e consulte Visualizar detalhes de compilação (console).

  7. Na lista de bucket, abra o bucket usado pelo pipeline. O nome do bucket deve seguir o formato codepipeline-<region-ID>-<random-number>. Você pode obter o nome do bucket do create-pipeline.json arquivo ou executar o CodePipeline get-pipeline comando para obter o nome do bucket.

    aws codepipeline get-pipeline --name <pipeline-name>

    Na saída, o objeto pipeline contém um objeto artifactStore, que contém um valor location com o nome do bucket.

  8. Abra a pasta que corresponda ao nome do seu pipeline (por exemplo, <pipeline-name>).

  9. Naquela pasta, abra a pasta denominada default.

  10. Extraia o conteúdo do arquivo . Se houver vários arquivos na pasta, extraia o conteúdo do arquivo com o carimbo Last Modified mais recente. (Talvez seja necessário fornecer uma .zip extensão ao arquivo para poder trabalhar com ele no ZIP utilitário do sistema.) O artefato de saída de build está no conteúdo extraído do arquivo.