Tutorial: Criar um pipeline que realiza a implantação no Service Catalog - 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á.

Tutorial: Criar um pipeline que realiza a implantação no Service Catalog

O Service Catalog permite criar e provisionar produtos com base em AWS CloudFormation modelos.

Importante

Como parte da criação de um pipeline, um bucket de artefatos S3 fornecido pelo cliente será usado CodePipeline por for artefacts. (Isso é diferente do bucket usado para uma ação de origem do S3.) Se o bucket de artefatos do S3 estiver em uma conta diferente da conta do seu pipeline, certifique-se de que o bucket de artefatos do S3 Contas da AWS seja de propriedade de quem é seguro e confiável.

Este tutorial mostra como criar e configurar um pipeline para implantar seu modelo de produto no Service Catalog e entregar as alterações que você fez no seu repositório de origem (já criado no GitHub CodeCommit, ou no Amazon S3).

nota

Quando o Amazon S3 é o provedor de origem do pipeline, você deve fazer upload de todos os arquivos de origem compactados em seu bucket como um único arquivo .zip. Caso contrário, a ação da origem falhará.

Primeiro, crie um produto no Service Catalog e depois crie um pipeline no AWS CodePipeline. Este tutorial fornece duas opções para definir a configuração de implantação:

Opção 1: Implantar no Service Catalog sem um arquivo de configuração

Neste exemplo, você carrega o arquivo de AWS CloudFormation modelo de amostra para um bucket do S3 e, em seguida, cria seu produto no Service Catalog. Em seguida, você cria seu pipeline e especifica a configuração de implantação no CodePipeline console.

Etapa 1: Fazer upload do arquivo do modelo de exemplo no repositório de origem

  1. Abra um editor de texto. Crie um modelo de exemplo colando o seguinte no arquivo. Salve o arquivo como S3_template.json.

    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": {} } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of Amazon S3 bucket to hold website content" } } }

    Esse modelo permite AWS CloudFormation criar um bucket S3 que pode ser usado pelo Service Catalog.

  2. Carregue o arquivo S3_template.json no repositório do AWS CodeCommit .

Etapa 2: Criar um produto no Service Catalog

  1. Como administrador de TI, faça login no console do Service Catalog, vá para a página Produtos e, depois, selecione Fazer upload de novo produto.

  2. Na página Upload new product (Carregar novo produto), conclua o seguinte:

    1. Em Product name (Nome do produto), insira o nome que você deseja usar para o seu novo produto.

    2. Em Description (Descrição), insira a descrição do catálogo de produtos. Essa descrição é mostrada na lista de produtos para ajudar o usuário a escolher o produto correto.

    3. Em Provided by (Oferecido por), digite o nome de seu departamento ou do administrador de TI.

    4. Escolha Próximo.

  3. (Opcional) Em Enter support details (Inserir detalhes do suporte), insira as informações de contato para suporte ao produto e selecione Next (Próximo).

  4. Em Version details (Detalhes da versão), conclua o seguinte:

    1. Selecione Carregar um arquivo de modelo. Procure o arquivo S3_template.json e carregue-o.

    2. Em Version title (Título da versão), insira o nome da versão do produto (por exemplo, devops S3 v2).

    3. Em Description (Descrição), insira os detalhes que distinguem essa versão em relação às outras.

    4. Escolha Próximo.

  5. Na página Review (Revisar), verifique se as informações estão corretas e escolha Create (Criar).

  6. Na página Produtos, no navegador, copie o URL do seu novo produto. Ela contém o ID do produto. Copie e retenha esse ID de produto. Você o usa ao criar seu funil em CodePipeline.

    Aqui está o URL de um produto chamadomy-product. Para extrair o ID do produto, copie o valor entre o sinal de igual (=) e o E comercial (&). Neste exemplo, o ID do produto é prod-example123456.

    https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
    nota

    Copie o URL para o seu produto antes de sair da página. Depois de sair dessa página, você deve usar o CLI para obter o ID do produto.

    Após alguns segundos, o produto será exibido na página Produtos. Talvez seja necessário atualizar o navegador para ver o produto na lista.

Etapa 3: Criar o pipeline

  1. Para nomear o pipeline e selecionar os parâmetros para o pipeline, faça o seguinte:

    1. Faça login no AWS Management Console e abra o CodePipeline console em https://console.aws.amazon.com/codepipeline/.

    2. Escolha Conceitos básicos. Selecione Create pipeline (Criar pipeline) e insira um nome para seu pipeline.

    3. Em Tipo de pipeline, escolha V2. Para obter mais informações, consulte Tipos de pipeline. Escolha Próximo.

    4. Em Função de serviço, escolha Nova função de serviço para permitir CodePipeline a criação de uma função de serviço emIAM.

    5. Deixe as configurações em Advanced settings (Configurações avançadas) como padrão e escolha Next (Próximo).

  2. Para adicionar um estágio de origem, faça o seguinte:

    1. Em Source provider (Provedor de código-fonte), selecione AWS CodeCommit.

    2. Em Repository name (Nome do repositório) e Branch name (Nome da ramificação), insira o nome do repositório e a ramificação que deseja usar para sua ação de origem.

    3. Escolha Próximo.

  3. Em Add build stage (Adicionar estágio de compilação), selecione Skip build stage (Ignorar estágio de compilação) e aceite a mensagem de aviso ao clicar novamente em Skip (Ignorar).

  4. Em Add deploy stage (Adicionar estágio de implantação), conclua o seguinte:

    1. Em Deploy provider (Fornecedor de implantação), escolha AWS Service Catalog.

    2. Para a configuração de implantação, escolha Enter deployment configuration (Inserir configuração de implantação).

    3. Em ID do produto, cole o ID do produto que você copiou no console do Service Catalog.

    4. Em Template file path (Caminho do arquivo do modelo), insira o caminho relativo em que o arquivo do modelo é armazenado.

    5. Em Tipo de produto, escolha modelo do AWS CloudFormation .

    6. Em Nome da versão do produto, insira o nome da versão do produto que você especificou no Service Catalog. Se você deseja que a alteração do modelo seja implantada em uma nova versão do produto, insira um nome de versão do produto que não tenha sido usado em uma versão anterior do mesmo produto.

    7. Em Input artifact (Artefato de entrada), selecione o artefato de entrada de origem.

    8. Escolha Próximo.

  5. Em Review (Revisão), revise as configurações do pipeline e, em seguida, selecione Create (Criar).

  6. Depois que o pipeline for executado com êxito, no estágio de implantação, selecione Details (Detalhes). O produto será aberto no Service Catalog.

    Visualizar o estágio de implantação do Service Catalog do pipeline
  7. Nas informações do produto, escolha o nome da versão para abrir o modelo do produto. Visualize a implantação do modelo.

Etapa 4: Enviar uma alteração e verificar o produto no Service Catalog

  1. Visualize seu funil no CodePipeline console e, no estágio de origem, escolha Detalhes. Seu AWS CodeCommit repositório de origem é aberto no console. Selecione Edit (Editar) e faça uma alteração no arquivo (por exemplo, na descrição).

    "Description": "Name of Amazon S3 bucket to hold and version website content"
  2. Confirme e envie a alteração. O pipeline será iniciado depois que você enviar a alteração. Quando a execução do pipeline for concluída, no estágio de implantação, selecione Detalhes para abrir seu produto no Service Catalog.

  3. Nas informações do produto, escolha o nome da nova versão para abrir o modelo do produto. Visualize a alteração do modelo implantada.

Opção 2: Implantar no Service Catalog com um arquivo de configuração

Neste exemplo, você carrega o arquivo de AWS CloudFormation modelo de amostra para um bucket do S3 e, em seguida, cria seu produto no Service Catalog. Você também pode carregar um arquivo de configuração separado que especifica a configuração de implantação. Em seguida, crie o pipeline e especifique o local do seu arquivo de configuração.

Etapa 1: Fazer upload do arquivo do modelo de exemplo no repositório de origem

  1. Abra um editor de texto. Crie um modelo de exemplo colando o seguinte no arquivo. Salve o arquivo como S3_template.json.

    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": {} } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of Amazon S3 bucket to hold website content" } } }

    Esse modelo permite AWS CloudFormation criar um bucket S3 que pode ser usado pelo Service Catalog.

  2. Carregue o arquivo S3_template.json no repositório do AWS CodeCommit .

Etapa 2: Criar o arquivo de configuração da implantação do produto

  1. Abra um editor de texto. Crie o arquivo de configuração para o seu produto. O arquivo de configuração é usado para definir seus parâmetros/preferências de implantação do Service Catalog. Use esse arquivo ao criar o pipeline.

    Este exemplo fornece um ProductVersionName de "devops S3 v2" e um ProductVersionDescription de MyProductVersionDescription. Se você deseja que a alteração do modelo seja implantada em uma nova versão do produto, basta inserir um nome de versão do produto que não tenha sido usado em uma versão anterior do mesmo produto.

    Salve o arquivo como sample_config.json.

    { "SchemaVersion": "1.0", "ProductVersionName": "devops S3 v2", "ProductVersionDescription": "MyProductVersionDescription", "ProductType": "CLOUD_FORMATION_TEMPLATE", "Properties": { "TemplateFilePath": "/S3_template.json" } }

    Esse arquivo criará as informações da versão do produto para você a cada vez que o pipeline for executado.

  2. Carregue o arquivo sample_config.json no repositório do AWS CodeCommit . Certifique-se de que você carregue esse arquivo no repositório de origem.

Etapa 3: Criar um produto no Service Catalog

  1. Como administrador de TI, faça login no console do Service Catalog, vá para a página Produtos e, depois, selecione Fazer upload de novo produto.

  2. Na página Upload new product (Carregar novo produto), conclua o seguinte:

    1. Em Product name (Nome do produto), insira o nome que você deseja usar para o seu novo produto.

    2. Em Description (Descrição), insira a descrição do catálogo de produtos. Essa descrição é mostrada na lista de produtos para ajudar o usuário a escolher o produto correto.

    3. Em Provided by (Oferecido por), digite o nome de seu departamento ou do administrador de TI.

    4. Escolha Próximo.

  3. (Opcional) Em Enter support details (Inserir detalhes do suporte), insira as informações de contato para suporte ao produto e, em seguida, selecione Next (Próximo).

  4. Em Version details (Detalhes da versão), conclua o seguinte:

    1. Selecione Carregar um arquivo de modelo. Procure o arquivo S3_template.json e carregue-o.

    2. Em Version title (Título da versão), insira o nome da versão do produto (por exemplo, "devops S3 v2").

    3. Em Description (Descrição), insira os detalhes que distinguem essa versão em relação às outras.

    4. Escolha Próximo.

  5. Na página Revisão, verifique se as informações estão corretas e, em seguida, selecione Confirmar e carregar.

  6. Na página Produtos, no navegador, copie o URL do seu novo produto. Ela contém o ID do produto. Copie e retenha esse ID de produto. Você usa ao criar seu funil em CodePipeline.

    Aqui está o URL de um produto chamadomy-product. Para extrair o ID do produto, copie o valor entre o sinal de igual (=) e o E comercial (&). Neste exemplo, o ID do produto é prod-example123456.

    https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
    nota

    Copie o URL para o seu produto antes de sair da página. Depois de sair dessa página, você deve usar o CLI para obter o ID do produto.

    Após alguns segundos, o produto será exibido na página Produtos. Talvez seja necessário atualizar o navegador para ver o produto na lista.

Etapa 4: Criar o pipeline

  1. Para nomear o pipeline e selecionar os parâmetros para o pipeline, faça o seguinte:

    1. Faça login no AWS Management Console e abra o CodePipeline console em https://console.aws.amazon.com/codepipeline/.

    2. Escolha Conceitos básicos. Selecione Create pipeline (Criar pipeline) e insira um nome para seu pipeline.

    3. Em Função de serviço, escolha Nova função de serviço para permitir CodePipeline a criação de uma função de serviço emIAM.

    4. Deixe as configurações em Advanced settings (Configurações avançadas) como padrão e escolha Next (Próximo).

  2. Para adicionar um estágio de origem, faça o seguinte:

    1. Em Source provider (Provedor de código-fonte), selecione AWS CodeCommit.

    2. Em Repository name (Nome do repositório) e Branch name (Nome da ramificação), insira o nome do repositório e a ramificação que deseja usar para sua ação de origem.

    3. Escolha Próximo.

  3. Em Add build stage (Adicionar estágio de compilação), selecione Skip build stage (Ignorar estágio de compilação) e aceite a mensagem de aviso ao clicar novamente em Skip (Ignorar).

  4. Em Add deploy stage (Adicionar estágio de implantação), conclua o seguinte:

    1. Em Deploy provider (Fornecedor de implantação), escolha AWS Service Catalog.

    2. Selecione Use configuration file (Usar arquivo de configuração).

    3. Em ID do produto, cole o ID do produto que você copiou no console do Service Catalog.

    4. No arquivo de Configuration file path (Caminho do arquivo de configuração), insira o caminho do arquivo de configuração em seu repositório.

    5. Escolha Próximo.

  5. Em Review (Revisão), revise as configurações do pipeline e, em seguida, selecione Create (Criar).

  6. Depois que o pipeline for executado com êxito, no estágio de implantação, selecione Detalhes para abrir seu produto no Service Catalog.

    Visualizar o estágio de implantação do Service Catalog do pipeline
  7. Nas informações do produto, escolha o nome da versão para abrir o modelo do produto. Visualize a implantação do modelo.

Etapa 5: Enviar uma alteração e verificar o produto no Service Catalog

  1. Visualize seu funil no CodePipeline console e, no estágio de origem, escolha Detalhes. Seu AWS CodeCommit repositório de origem é aberto no console. Selecione Edit (Editar) e, em seguida, faça uma alteração no arquivo (por exemplo, na descrição).

    "Description": "Name of Amazon S3 bucket to hold and version website content"
  2. Confirme e envie a alteração. O pipeline será iniciado depois que você enviar a alteração. Quando a execução do pipeline for concluída, no estágio de implantação, selecione Detalhes para abrir seu produto no Service Catalog.

  3. Nas informações do produto, escolha o nome da nova versão para abrir o modelo do produto. Visualize a alteração do modelo implantada.