Tutorial: implantações da função Lambda com CodePipeline - 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: implantações da função Lambda com CodePipeline

Este tutorial ajuda você a criar uma ação de implantação CodePipeline que implanta seu código na função que você configurou 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 S3 será usado CodePipeline por for artefacts. (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 seu pipeline, certifique-se de que o bucket de artefatos do S3 Contas da AWS seja de propriedade de quem é seguro e confiável.

nota

A ação de implantação Lambda está disponível somente 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 AWS região.

  • Um repositório de controle de origem, como GitHub, ou um bucket S3 de origem (este tutorial usa o S3), onde você armazenará um .zip arquivo criado para sua função Lambda.

  • Você deve usar uma função CodePipeline de serviço existente que tenha sido atualizada com as permissões para essa ação. Para atualizar o perfil de serviço, consulte Permissões de política do perfil de serviço para a ação de implantação do Lambda.

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ê cria 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 direcionará.

    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á direcionando para a versão que você recém criou (como 1).

    nota

    Se escolher $LATEST, você não conseguirá usar os recursos de mudança de tráfego porque o Lambda não oferece suporte a $LATEST para um alias que direcione 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 CodePipeline assistente para criar seus estágios de funil e conectar seu repositório de origem.

Para criar o pipeline
  1. Abra o CodePipeline console em https://console.aws.amazon.com/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. CodePipeline fornece tubulações do tipo V1 e V2, que diferem em características e preço. 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 de CodePipeline, consulte Preços.

  6. Em Função de serviço, escolha Usar função de serviço existente e, em seguida, escolha a função de CodePipeline serviço que foi atualizada com as permissões necessárias para essa ação. Para configurar sua função CodePipeline de serviço para essa ação, consultePermissõ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 Etapa 7: Revisão, revise a configuração do pipeline e escolha Create pipeline para criar o pipeline.

    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

Seu pipeline deve ter tudo para executar uma implantação AWS contínua end-to-end nativa. 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 CodePipeline console em https://console.aws.amazon.com/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, 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 em Referência da ação de implantação do AWS Lambda.