使用aws lambdas的链式作业
chained-aws-lambda的Python项目详细描述
#链式AWS lambda
####运行测试
在顶层数据存储目录中运行进行测试。
####展开
假设上面的测试已经通过,下一步是手动部署。有关 如果您的目标是持续部署,请使用Travis的CI/CD。
现在使用make进行部署:
make deploy
设置AWS API网关。网关将自动为您设置并与lambda关联。但是,为了得到 友好域名,你需要遵循 方向[这里](http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)。总而言之:
- 通过aws证书管理器生成一个https证书,确保它位于us-east-1中
- 在API网关控制台中设置域名
- 在Amazon Route 53中设置以将域指向API网关
- 在api网关中,填写自定义域名的端点,例如path=`/、destination=`dss和dev。 根据使用的配置文件(dev、stage等),这些可能有所不同。
- 在environment.local文件中将环境变量api_host设置为域名。
如果成功,您应该可以在:
https://<domain_name>
您应该能够列出这样的捆绑包:
curl -X GET “https://<domain_name>/v1/bundles” -H “accept: application/json”
####带travis ci的ci/cd 我们使用[travis ci](https://travis-ci.org/HumanCellAtlas/data-store)进行连续集成测试,并且 部署。当make test成功时,travis ci将应用程序部署到aws上的每个提交的dev阶段 在主枝上。此行为在的deploy部分定义。travis.yml。
####授权Travis CI部署 加密的环境变量为travis ci提供运行测试和部署应用程序所需的aws凭据。跑步 脚本/authorize_aws_deploy.sh iam-principal-type iam-principal-name(例如authorize_aws_deploy.sh user hca test) 授予该主体部署应用程序所需的权限。因为这是一组有限的权限,所以 没有对IAM的写访问权限。要为应用程序将使用的帐户中的资源设置IAM策略,请运行make 从工作站使用一次特权帐户凭据部署。完成后,特拉维斯·西将能够 自行部署。任何时候更改IAM策略时,都必须从特权帐户中重复make deploy步骤 在policy.json.template文件中。
[![](https://img.shields.io/badge/slack-%23data–store-557EBF.svg)](https://humancellatlas.slack.com/messages/data-store/) [![生成状态](https://travis-ci.org/HumanCellAtlas/data-store.svg?branch=master)](https://travis-ci.org/HumanCellAtlas/data-store) [![codecov](https://codecov.io/gh/HumanCellAtlas/data-store/branch/master/graph/badge.svg)](https://codecov.io/gh/HumanCellAtlas/data-store)