我已经在NAT后面的专用子网中设置了两个EC2实例。
这些实例都在一个AutoScalling组中。
我想将CodeDeploy与我的GitLab存储库集成。

我现在能想到的就是在appspec.yml文件的BeforeInstall挂钩上运行脚本。

还有另一种方法吗?

最佳答案

GitLab不会与AWS服务实现直接集成,但是您可以解决此问题。您可以执行您所描述的操作,并实现所有的安装/分发/身份验证逻辑,但是从CodeDeploy中获得的好处并不多。您应该做什么取决于您要实现的目标。

推送时自动部署:
如果您将其WebHooks与可以向AWS进行身份验证的内容联系起来,则可以在提交到GitLab时获得自动部署。可能看起来像:


GitLab中的Web Hook,它将推送请求发送到您控制的Jenkins服务器。
Jenkins服务器使用Git插件提取源代码。
Jenkins服务器将运行您的构建和测试步骤。
Jenkins服务器使用CodeDeploy插件将构建工件上传到S3并创建部署。


如果您希望进行手动部署,则可以执行与上述相同的操作,但是手动触发Jenkins构建。

仅手动部署:
要部署时,请执行以下操作:


使用git签出要部署的提交。
运行构建并在本地测试。
执行AWS CLI deploy push命令,将构建工件上载到S3。
使用上载的捆绑包在CodeDeploy中创建部署。

关于amazon-web-services - AWS CodeDeploy与GitLab的集成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33957162/

10-09 04:41