#aws-lambda #aws-codepipeline #aws-codebuild
#aws-lambda #aws-codepipeline #aws-codebuild
Вопрос:
Я создал конвейер для развертывания лямбда-кода. Вот как выглядит мой шаблон
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
Sample SAM Template
Globals:
Function:
Timeout: 3
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./src
Handler: app.lambda_handler
Runtime: python3.7
Events:
HelloWorld:
Type: Api
Properties:
Path: /hello
Method: get
Это спецификация сборки
version: 0.2
phases:
install:
commands:
- pip install -r requirements.txt -t lib
build:
commands:
- export BUCKET=codepipeline-bucket
- aws cloudformation package --template-file template.yml --s3-bucket $BUCKET --output-template-file outputtemplate.yml
artifacts:
type: zip
files:
- template.yml
- outputtemplate.yml
Каждый раз, когда я нажимаю на github и выполняю запрос на извлечение и объединение с master, запускается исходный этап. Запускается сборка, за которой следует развертывание. Все шаги завершаются успешно. Проблема, с которой я сталкиваюсь, заключается в том, что развернутый код всегда отстает от версии N-1.
Если мне нужно, чтобы какие-либо развертывания получали последнюю версию кода, я должен нажать кнопку изменения выпуска в приложении конвейера. Просто проверяя код и объединяя запрос на извлечение, он не получает последнюю версию кода, а только коммит, который я объединил ранее. Я не знаю, где искать дальше, чтобы решить эту проблему. Это почти так, как если бы самый последний коммит в моем коде в папке src не обнаруживался при его объединении, но предыдущий коммит был обнаружен.