Tutorial: Implantações de função do Lambda com o CodePipeline - AWS CodePipeline

Tutorial: Implantações de função do Lambda com o CodePipeline

Este tutorial ajuda você a criar uma ação de implantação no CodePipeline que implante o código na função configurada por você no Lambda. Você criará uma função do Lambda de amostra na qual vai criar um alias e uma versão, adicionar a função do Lambda compactada ao local de origem e executar a ação do Lambda no pipeline.

nota

Como parte da criação de um pipeline no console, um bucket de artefatos do S3 será usado pelo CodePipeline para artefatos. (Este bucket não é o mesmo utilizado para uma ação de origem do S3.) Se o bucket de artefatos do S3 estiver em uma conta diferente da conta do pipeline, garanta que o bucket de artefatos do S3 seja de propriedade de Contas da AWS seguras e confiáveis.

nota

A ação de implantação Lambda só está disponível para pipelines do tipo V2.

Pré-requisitos

Para você usar este tutorial para criar seu pipeline de CD, alguns recursos precisam estar em operação. Veja aqui estão os itens que você precisa para começar:

nota

Todos esses recursos devem ser criados na mesma região da AWS.

Assim que você atender a esses pré-requisitos, poderá continuar com o tutorial e criar seu pipeline de CD.

Etapa 1: Criar a função do Lambda de amostra

Nesta etapa, você criar a função do Lambda na qual implantará.

Como criar sua função do Lambda
  1. Acesse o console do Lambda e siga as etapas no tutorial a seguir para criar uma função do Lambda de amostra: link.

  2. Na navegação superior, escolha Criar e selecione Iniciar do zero na parte superior da página.

  3. Em Nome, insira MyLambdaFunction.

  4. Publique uma nova versão. Esta será a versão para a qual o alias apontará.

    1. Selecione a função.

    2. Escolha o menu suspenso Ações.

    3. Escolha Publicar nova versão.

    4. (Opcional) Adicione à descrição em Descrição.

    5. Selecione Publish.

  5. Crie um alias para a função, como aliasV1.

  6. Verifique se o alias está apontando para a versão recém-criada por você (como 1).

    nota

    Se escolher $LATEST, você não conseguirá usar os atributos de mudança de tráfego porque o Lambda não dá suporte a $LATEST para um alias que aponte para mais de 1 versão.

Etapa 2: Carregar o arquivo de função no repositório

Baixe a função a e salve como um arquivo zip. Carregue o arquivo compactado no bucket do S3 usando as etapas a seguir.

Para adicionar um arquivo .zip ao repositório de origem
  1. Abra o bucket do S3.

  2. Escolha Carregar.

  3. Carregue o arquivo zip que contém o arquivo sample_lambda_source.zip no bucket de origem.

    Anote o caminho.

    object key

Etapa 3: Criação do pipeline

Use o assistente do CodePipeline para criar os estágios de pipeline e conectar o repositório de origem.

Para criar o pipeline
  1. Abra o console do CodePipeline em https://console.aws.amazon.com/codesuite/codepipeline/.

  2. Na página Welcome (Bem-vindo), Getting started (Conceitos básicos) ou Pipelines, selecione Create pipeline (Criar pipeline).

  3. Na página Etapa 1: Escolher opção de criação, em Opções de criação, selecione a opção Criar pipeline personalizado. Escolha Próximo.

  4. Em Etapa 2: Escolher as configurações do pipeline, em Nome do pipeline, insira MyPipeline.

  5. O CodePipeline disponibiliza pipelines dos tipos V1 e V2, que apresentam características e custos diferentes. O tipo V2 é o único tipo que você pode escolher no console. Para ter mais informações, consulte Pipeline types. Para obter informações sobre preços do CodePipeline, consulte Preços.

  6. Em Perfil de serviço, escolha Usar perfil de serviço existente e o perfil de serviço do CodePipeline que foi atualizado com as permissões necessárias para essa ação. Para configurar o perfil de serviço do CodePipeline dessa ação, consulte Permissões de política do perfil de serviço para a ação de implantação do Lambda.

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

  8. Na página Etapa 3: Adicionar etapa de origem, adicione uma etapa de origem:

    1. Em Source provider (Provedor de origem), selecione Amazon S3.

    2. Em Chave de objeto, adicione o nome do arquivo .zip, inclusive a extensão do arquivo, como sample_lambda_source.zip.

    Escolha Próximo.

  9. Na página Etapa 4: Adicionar etapa de compilação, escolha Ignorar.

  10. Na página Etapa 5: Adicionar etapa de teste, escolha Ignorar.

  11. Na página Etapa 6: Adicionar etapa de implantação, escolha Lambda.

    Adicione uma ação de implantação do Lambda ao pipeline.
    1. Adicione o nome e o alias da função.

    2. Escolha a estratégia de implantação.

    3. Escolha Próximo.

  12. Na página Step 7: Review, revise a configuração do pipeline e escolha Create pipeline para criá-lo.

    Um diagrama de console mostrando uma execução bem-sucedida do pipeline com a ação de implantação do Lambda adicionada ao pipeline.

Etapa 4: Testar o pipeline

O pipeline deve ter tudo para realizar uma implantação contínua de ponta a ponta nativa da AWS. Agora, teste a funcionalidade enviando uma alteração de código ao repositório de origem.

Para testar o pipeline
  1. Faça uma alteração no código no repositório de origem configurado, confirme e envie a alteração.

  2. Abra o console do CodePipeline em https://console.aws.amazon.com/codesuite/codepipeline/.

  3. Escolha o pipeline na lista.

  4. Observe a evolução do pipeline pelos respectivos estágios. O pipeline deve ser concluído, e a ação é implantada na função do Lambda.

Saiba mais

A ação de implantação do Lambda permite dois métodos de implantação. Um método é a mudança de tráfego sozinho, sem um artefato de entrada da ação de origem. O outro método é atualizar o código da função usando um artefato de entrada da ação de origem e, em seguida, publicar uma nova versão com base no código atualizado. Para o segundo método, se o alias for fornecido, o CodePipeline também fará a mudança de tráfego. Este tutorial da ação de implantação do Lambda demonstra como atualizar a função usando um artefato de origem.

Para saber mais sobre a ação, consulte a página de referência da ação emAWS LambdaReferência da ação de implantação do .