wvi*_*ana 8 deployment continuous-integration amazon amazon-elastic-beanstalk
我有一个Elastic Beanstalk Python应用程序.
所以我已经创建了我的构建脚本,我生成了一个deploy.zip文件,我将其部署到EB中.它确实像它想象的那样工作.
因此,在构建了用于构建与EB兼容的工件(我的deploy.zip)的脚本之后,我开始eb deploy在我的gitlab-ci中配置EB cli ,因此当有提交时它将部署到EB同系服务器在开发分支和进入EB生产时进入主人.(现在我正在研究认证服务器).
所以我确实阅读了文档并注意到eb会自己构建神器.但是因为我已经有了自己的构建脚本,所以部署了一个工件而不是项目文件夹,所以我创建了一个.elasticbeanstalk文件夹,并config.yml在其中使用了以下配置.
deploy:
artifact: deploy.zip
Run Code Online (Sandbox Code Playgroud)
所以我做了一个eb init,确实设置了一切(区域,id,密钥和选择我现有的项目.
当我这样做时eb deploy,就像它想象的那样工作.所以我确实怀疑这eb本身就是神器,所以我检查了配置文件并注意到eb已经在文件中添加了一堆其他配置,我的部署配置就在那里,所以对于另一个测试,我确实删除了我,deploy.zip所以当我做的时候一个eb deploy失败就像它想.
在此之前,所有内容都按照我的计划运行,因此我git status在将.elasticbeanstalk文件夹添加到git 之前进行了检查.令我惊讶的是,文件夹未列出,.gitignore文件已更改.当检查.gitignore它有它.elasticbeanstalk在里面.
所以它让我警惕我是否应该将此文件夹添加到git中,因为默认行为eb是将其添加到ignore中.
我计划提交eb配置并使用环境变量设置密钥,如配置设置和优先会话中所述.
我试图在eb deploy没有配置的情况下运行只是在命令之前传递env变量,类似的东西AWSAccessKeyId=<access_key> AWSSecretKey=<secret_key> eb deploy,但它说我应该eb init在它之前运行.
所以我不应该git eb配置?如果不是,我应该如何进行使用EB的CI部署?
.elasticbeanstalk是 eb cli 存储其配置的地方。正如您所写的 - 有一个文件config.yml,因此您可以自己创建它。当你调用eb init你的版本时,被命令覆盖。
如果您只有一个环境,或者安全性不是问题 - 那么在您的存储库中拥有该配置是个好主意。您暴露了一些详细信息,例如 ssh 密钥名称,因此出于安全原因,并非所有人都应该看到它。所有我男人公共回购。也许这就是为什么他们把它放在.gitignore.
请注意,通常您有test, pre-prod, prod, 环境 - 所以无论如何都需要配置。下一步是为所有开发内容创建一个单独的配置存储库,在那里您可以为每个环境创建目录或分支。
我同意你的看法,它看起来很奇怪 -.ebextensions没有那样保护......
如果我错过了什么 - 发布问题,我会在这个答案中附加说明。
| 归档时间: |
|
| 查看次数: |
780 次 |
| 最近记录: |