为了进一步熟悉和掌握devops相关理念和工具在AWS上的具体实现,通过实践一个SpringBoot项目,通过AWS的CodePipeline实现CI/CD的全流程, 后续可以和GitHub Action做个对比,加深对各个devops平台的了解
下拉代码后,会设置maven的编译环境,首先build出jar包,然后将jar包打入docker image
和GitHub类似,AWS提供了SecretManger的服务可以安全的管理账号、密码, 如下(注意: SercretManger需要给CodeBuild开放权限)
制品是docker image,存放在DockerHub中.
CodePipeline中支持的deploy服务有很多,比如CloudFormation,Elastic Beanstalk,OpsWorks
3者的关系正如软件功能的演进过程类似,不断适应业务新的需求,各自的特点简单整理如下:
后续会分别用上面的工具来实践,掌握各自的适用范围, 本次先skip