Deployment 我为什么要忽略.elastbeanstable文件夹?

Deployment 我为什么要忽略.elastbeanstable文件夹?,deployment,continuous-integration,amazon,amazon-elastic-beanstalk,Deployment,Continuous Integration,Amazon,Amazon Elastic Beanstalk,我有一个弹性Beanstalk Python应用程序 因此,我已经制作了构建脚本,其中生成了一个deploy.zip文件,并将其部署到了EB中。它确实像它想象的那样工作 因此,在构建了构建与EB兼容的工件(my deploy.zip)的脚本之后,我开始配置EB cli,以便在gitlab ci中使用EB deploy,以便在开发分支上有提交时将其部署到EB认证服务器,在进入master时将其部署到EB生产中。(现在我正在开发认证服务器) 所以我确实阅读了文档,并注意到eb将自己构建工件。但是由于

我有一个弹性Beanstalk Python应用程序

因此,我已经制作了构建脚本,其中生成了一个deploy.zip文件,并将其部署到了EB中。它确实像它想象的那样工作

因此,在构建了构建与EB兼容的工件(my deploy.zip)的脚本之后,我开始配置EB cli,以便在gitlab ci中使用
EB deploy
,以便在开发分支上有提交时将其部署到EB认证服务器,在进入master时将其部署到EB生产中。(现在我正在开发认证服务器)

所以我确实阅读了文档,并注意到eb将自己构建工件。但是由于我已经有了自己的构建脚本,所以我在其中创建了一个
.elasticbeanstalk
文件夹和一个
config.yml
,并使用以下配置

deploy:
     artifact: deploy.zip
因此,我做了一个
ebinit
,设置了所有内容(区域、id、密钥),并选择了我现有的项目

当我做
eb部署时
它的工作原理和它想象的一样。所以我怀疑
eb
本身正在进行反人工,所以我检查了配置文件,注意到
eb
已经在文件中添加了一堆其他配置,我的部署配置就在那里,所以在另一个测试中,我确实删除了我的
deploy.zip
,所以当我做了一个
eb部署
它失败了

在这之前,一切都按照我的计划运行,所以在将
.elasticbeanstalk
文件夹添加到git之前,我做了一个
git状态检查。出乎意料的是,该文件夹没有列出,
.gitignore
文件被更改。在检查
.gitignore
时,它有
.elasticb>在其中输入

因此它提醒我是否应该将此文件夹添加到git中,因为
eb
的默认行为是将其添加到ignore中

我计划提交eb配置并使用环境变量设置密钥,正如在会话中所说的那样

我曾尝试运行
eb deploy
,但没有在命令之前传递env vars的配置,类似于
AWSAccessKeyId=AWSSecretKey=eb deploy
,但它说我应该在命令之前运行
eb init


那么,我不应该git我的
eb
配置吗?如果不是,我应该如何处理使用eb部署CI?

。elasticbeanstalk
是eb cli存储其配置的地方。正如您所写的,其中有一个文件
config.yml
,因此您可以自己创建它。当您调用
eb init
时,您的版本将被覆盖十,按命令

如果您只有一个环境,或者安全性不是问题,那么在存储库中配置该配置是个好主意。您正在公开一些详细信息,如ssh密钥名,因此出于安全原因,并非所有人都应该看到它。所有人都可以公开repo。也许这就是他们将其置于
.gitignore
的原因

请注意,通常您有
test
pre-prod
prod
,环境-因此无论如何都需要配置。下一步是为所有DevOpish内容创建一个单独的配置存储库,在那里您可以拥有每个环境的目录或分支

我同意你的看法,它看起来很奇怪-
。ebextensions
不是这样安全的

如果我遗漏了一些问题,我会在这个答案后面加上澄清