CI&CD
# 背景
持续集成(CI)和持续发布(CD)是一种现代化软件开发流程,它将软件开发过程中的各个环节自动化,并且能够快速地进行测试、编译、构建、部署和发布等流程。
这种流程的出现,可以带来以下好处:
提高软件质量:持续集成可以将代码和测试自动集成,每次代码提交后就可以进行测试和构建,及时发现和解决问题,从而提高软件质量。
提高开发效率:持续集成可以让开发者快速得到反馈,及时修复错误,避免出现问题的积累,提高开发效率。
快速部署:持续发布可以将代码自动部署到生产环境中,从而减少手动干预的错误,同时能够快速响应用户需求,缩短软件上线时间。
减少风险:持续集成和持续发布可以自动化执行测试、构建和部署等环节,降低了人为操作的风险,从而减少软件发布过程中的潜在问题。
提高团队协作效率:持续集成和持续发布可以帮助团队协作和沟通,让开发、测试和运维人员在同一流程中协作,从而提高效率和减少沟通成本。
总之,持续集成和持续发布可以提高软件开发的效率和质量,同时减少风险和成本。随着现代软件开发的发展,它们已经成为了一种必要的软件开发流程,为软件开发和部署提供了更加高效和可靠的解决方案。
# 自动构建后端
# 插件安装
✅publish-over-ssh # 用途: 用于A服务器构建好的产物传输到到B服务器
✅git-parameter # 用途: 参数化构建,后续可以根据分支来进行打包
# 准备构建环境
✅git ✅maven ✅jdk(>=1.8)
# 配置
点击Manage Jenkins再点击Global Tool Configuration
maven环境配置
JDK环境配置
git环境配置
maven安装配置
如果操作过程中,没有报错。意味着配置完成了。
# 创建项目
# 根据分支来构建代码配置
效果图: 可以看见仓库所有的分支
仓库分支展示:
Jenkins分支展示
拉取代码展示:
已经成功从对应仓库拉取代码。
# maven打包
编辑打包指令,执行打包操作
/usr/local/maven/bin/mvn -DskipTests=true clean install
构建中
构建成功
# 查询打包产物
每个服务打包的产物不同,需要各自
cd
到指定文件夹的target
目录下。
# 远程传输
我们首先需要配置下ssh密钥保证正常通信,首先点击
Manage Jenkins
在点击Configure System
找到Publish over SSH
如果需要新增其他服务器,这么配置
点击保存。回到自由项目配置,点击增加构建步骤
里的Send files xxxxxx SSH
查看B服务器中根目录下project.文件夹,就可以发现xjar已经推送过来了
后端打包,并且发布其他服务器告一段落。剩下的可继续在后面增加可执行脚本,将目标服务器的文件备份与重启服务。
# 自动构建前端
# 环境变量检查
[root@localhost bdg01-web]# echo $PATH
/usr/local/node/bin:/usr/lib64/qt-3.3/bin:/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/java/bin:/usr/local/maven/bin:/root/bin
2
# 构建打包
打包完成后,类似后端jar包推送到B服务器。