自动化部署 Jenkins 从环境配置到项目开发

流水化

1、拉取代码
2、SonarCube代码审查
3、编译,安装公共子工程
4、编译,打包微服务工程(需要将父目录的pom.xml上传到代码依赖仓库)

file

5、打包微服务后,在生成镜像

#  mvn -f vms-gateway clean package  # 只会打成jar包
mvn -f vms-gateway clean package dockerfile:build  # 打成jar包后,继续打包成镜像,需要在微服务代码添加打包的镜像Docker

6、对镜像打上标签
file

7、上传到Harbor

file

file

流程说明:

阶段一. Checkout SCM: 拉取 GitHub 仓库代码
阶段二. Unit test: 单元测试,如果测试通过了才继续下面的任务
阶段三. SonarQube analysis:sonarQube 代码质量检测
阶段四. Build & push snapshot image: 根据行为策略中所选择分支来构建镜像,并将 tag 为 SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER推送至 Harbor (其中 $BUILD_NUMBER为 pipeline 活动列表的运行序号)。
阶段五. Push latest image: 将 master 分支打上 tag 为 latest,并推送至 DockerHub。
阶段六. Deploy to dev: 将 master 分支部署到 Dev 环境,此阶段需要审核。
阶段七. Push with tag: 生成 tag 并 release 到 GitHub,并推送到 DockerHub。
阶段八. Deploy to production: 将发布的 tag 部署到 Production 环境。

为者常成,行者常至