问题
最近需要在AWS国际云上面配置CI/CD工作流,这里以Spring Boot Java项目为例子进行CodeBuild构建。AWS云的CI/CD工作流主要包括Code Commit,Code Build,Code Deploy, Code Pipeline,主要包括这4个AWS服务。
1.配置CodeBuild
找到AWS CodeBuild主页,点击创建构建项目,如下图:
1.1配置源
设置CodeBuild项目名称,设置源代码来源和对于的分支,如下图:
这里只演示dev环境,所以,这里只设置了dev分支。
1.2配置环境
在配置环境之前,需要我们确定一下CodeBuild构建的这个源代码Java项目,是用什么环境?这个Java项目需要Amazon Corretto 17 的JDK进行构建。了解了这个信息好,我们找到AWS CodeBuild可用的运行时环境镜像界面,确定我们需要的环境镜像为Amazon Linux 2 x86_64 标准:5.0,具体如下图:
这个页面地址参考文末尾。接下来继续配置CodeBuild环境部分,如下图:
1.3配置Buildspec
具体配置内容如下:
yaml
version: 0.2
phases:
install:
runtime-versions:
java: corretto17
pre_build:
commands:
- mvn --version
build:
commands:
- mvn clean && mvn package -Dmaven.test.skip=true
artifacts:
files:
- target/*.jar
- scripts/*.sh
- configs/*.service
- appspec.yml
discard-paths: yes
cache:
paths:
- '/root/.m2/**/*'
这里只演示Java Maven最简单的Spring项目,在CodeBuild里面的构建,将上述内容,配置到Buildspec部分,其中target/*.jar
是maven构建出来spring fatjar;scripts/*.sh
,configs/*.service
和appspec.yml
,都是下一个步骤CodeDeploy需要用的运行脚本,我们在下一篇教程AWS CI/CD教程中再说明。这里先只关注CodeBuild的Buildspe配置,具体如下图:
接下来,将上述内容,张贴到构建命令中,具体如下图:
1.4配置构件
在配置构件缓存之前,需要准备一个s3桶,具体配置如下图:
这里就简单配置了一个maven缓存目录桶。并且,创建指定root/.m2/文件夹,如下图:
接下来,回到CodeBuild继续配置构件,如下图:
最后,点击创建构建项目即可。最终结果,如下图:
2.手动测试构建
点击开始构建,尝试手动构建,如下图:
等待一段时间如果出现成功记录,表示CodeBuild配置成功了。具体如下图效果:
总结
到这里就基本完成了CodeBuild的配置,接下,需要处理CI/CD下一步的CodeDeploy配置了。