Vib*_*era 7 amazon-s3 amazon-ec2 amazon-web-services gitlab
我们正在构建一个我们正在使用GitLab存储库的应用程序.手动将代码部署到作为Amazon AWS EC2实例的测试服务器是繁琐的,我计划自动化部署过程,这样当我们提交代码时,它应该反映在测试实例中.
据我所知,我们可以使用AWS代码部署服务从GitHub获取代码.但代码部署服务不支持GitLab存储库.有没有办法通过GitLab自动化代码部署过程到AWS Ec2实例.或者是否有shell脚本可能实现此目的?请教育我.
使用AWS CodeDeploy实现此目的的一种方法是将S3选项与Gitlab-CI结合使用:http://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-w.html
根据项目的设置方式,您可以生成分发Zip(Gradle通过应用程序插件提供此功能).如果您的项目不提供此类功能,则可能需要手动生成"分发"文件.
Gitlab不提供直接的S3集成,但是通过gitlab-ci.yml您可以将其下载到容器中并运行必要的上载命令,以根据AWS指令将生成的zip文件放在S3容器上以触发部署.
以下是您brefore-script在gitlab-ci.yml文件中的外观示例:
before_script:
- apt-get update --quiet --yes
- apt-get --quiet install --yes python
- pip install -U pip
- pip install awscli
Run Code Online (Sandbox Code Playgroud)
有关如何将CodeDeploy与S3一起使用的AWS教程非常详细,因此我将跳过尝试在此处重现内容的步骤.
对于您当前正在手动执行的实际部署命令和操作,AWS CodeDeploy提供了通过app-spec文件中定义的脚本运行某些操作的功能,具体取决于应用程序的事件挂钩:
我希望这有帮助.
| 归档时间: |
|
| 查看次数: |
4997 次 |
| 最近记录: |