AWS CodeDeploy与GitLab的集成

Gab*_*iel 2 amazon-ec2 amazon-web-services gitlab aws-code-deploy

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

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

还有另一种方法吗?

Jon*_*pie 5

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

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

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

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

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

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