【发布时间】:2018-06-04 13:19:48
【问题描述】:
我有一个 Elastic Beanstalk Python 应用程序。
所以我已经制作了构建脚本,在其中生成了一个部署到 EB 中的 deploy.zip 文件。它确实按预期工作。
因此,在构建用于构建与 EB 兼容的工件(我的 deploy.zip)的脚本之后,我开始着手配置 EB cli 以在我的 gitlab-ci 中使用 eb deploy,因此它将部署到 EB 认证服务器在开发分支上有提交时,进入主服务器时进入 EB 生产。 (现在我只是在做认证服务器)。
所以我确实阅读了文档并注意到 eb 会自行构建工件。但是因为我已经有了自己的构建脚本,所以我在其中部署了一个Artifact Instead of the Project Folder,所以我在其中创建了一个.elasticbeanstalk 文件夹和一个config.yml,配置如下。
deploy:
artifact: deploy.zip
所以我做了一个eb init,设置了所有内容(区域、ID、密钥并选择了我现有的项目。
当我执行eb deploy 时,它的工作方式与预期一样。所以我确实怀疑eb 自己制造了de artifactory,所以我检查了配置文件并注意到eb 在文件中添加了一堆其他配置,我的部署配置在那里,所以我做了另一个测试删除了我的deploy.zip,所以当我执行eb deploy 时,它失败了,就像它想象的那样。
到目前为止,一切都按照我的计划运行,所以我在将 .elasticbeanstalk 文件夹添加到 git 之前进行了 git status 的检查。令我惊讶的是,该文件夹未列出,.gitignore 文件已更改。检查.gitignore 时,它里面有.elasticbeanstalk。
所以它提醒我是否应该将此文件夹添加到 git 中,因为 eb 的默认行为是将其添加到忽略中。
我正计划提交 eb 配置并使用环境变量设置密钥,如 Configuration Settings and Precedence 会话中所述。
我尝试在没有配置的情况下运行 eb deploy,而只是在命令之前传递环境变量,例如 AWSAccessKeyId=<access_key> AWSSecretKey=<secret_key> eb deploy,但它说我应该在它之前运行 eb init。
所以我不应该 git 我的eb 配置吗?如果不是,我应该如何使用 EB 进行 CI 部署?
【问题讨论】:
标签: deployment continuous-integration amazon amazon-elastic-beanstalk