Кто-нибудь придумал хорошее решение для управления версиями и развертывания кода в AWS Lambda? Я действительно ненавижу то, что мне приходится все время архивировать файлы и загружать их. Есть ли лучший способ сделать это, возможно, служба, которая подталкивает код на основе изменений в Lambda?
Контроль версий и развертывание для AWS Lambda
Ответы (3)
Для этого вы можете попробовать Serverless Framework. Текущая бета-версия выглядит очень многообещающей.
Serverless Framework позволяет создавать целое приложение без каких-либо серверов. Он сочетает в себе AWS API Gateway с функциями AWS Lambda и поддерживает автоматическое развертывание.
Релиз Beta v1 поддерживает только NodeJS, но они планируют поддерживать все языки.
Документы проекта: http://docs.serverless.com/v0.5.0/docs
#!/bin/bash
cd /your/workspace
#zips up the new code
zip -FSr yourzipfile.zip . -x *.git* *bin/\* *.zip
#Updates function code of lambda and pushes new zip file to s3bucket for cloudformation lambda:codeuri source
aws lambda update-function-code --function-name arn:aws:lambda:us-west-2:YOURID:function:YOURFUNCTIONNAME --zip-file fileb://yourzipfile.zip
aws s3 cp yourzipfile.zip s3://yourbucketname/yourzipfile.zip
Зависит от установки aws-cli и настройки профиля aws
aws --profile yourProfileName configure
И моя напыщенная речь: я хочу, чтобы лямбда-кодировка облачной информации принимала любой URL-адрес, а не только s3: // bucketname / filename ... чтобы я мог указать его прямо на github.
Если вы используете Eclipse, вы можете использовать AWS Toolkit для Eclipse: ссылка. Это позволяет вам использовать любую систему управления версиями, которую вы хотите, и развернуть свой код в AWS в два клика.