AWS CI/CD之一:CodeBuild配置(Spring版)

问题

最近需要在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/*.shconfigs/*.serviceappspec.yml,都是下一个步骤CodeDeploy需要用的运行脚本,我们在下一篇教程AWS CI/CD教程中再说明。这里先只关注CodeBuild的Buildspe配置,具体如下图:

接下来,将上述内容,张贴到构建命令中,具体如下图:

1.4配置构件

在配置构件缓存之前,需要准备一个s3桶,具体配置如下图:

这里就简单配置了一个maven缓存目录桶。并且,创建指定root/.m2/文件夹,如下图:

接下来,回到CodeBuild继续配置构件,如下图:

最后,点击创建构建项目即可。最终结果,如下图:

2.手动测试构建

点击开始构建,尝试手动构建,如下图:

等待一段时间如果出现成功记录,表示CodeBuild配置成功了。具体如下图效果:

总结

到这里就基本完成了CodeBuild的配置,接下,需要处理CI/CD下一步的CodeDeploy配置了。

参考:

相关推荐
大模型码小白12 分钟前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司1 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地2 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
莫逸风4 小时前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope
z123456789865 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
MC皮蛋侠客5 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
yaoxin5211236 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
做个文艺程序员6 小时前
Linux第24篇:Java应用监控体系搭建:Prometheus+Grafana可视化运维
java·grafana·prometheus
小钻风33667 小时前
Spring Boot 文件上传详解:深入理解 MultipartFile 的使用与原理
java·开发语言
其美杰布-富贵-李7 小时前
Spring Boot 工程开发全流程说明
java·spring boot·后端