前面已经完成基“Git + Maven + Jenkins 实现自动化部署”CI阶段,今天完成CD阶段。本篇文章主要针对“Jenkins发布代码到指定服务器”进行讲解,希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
前提条件
(1)输入账号和密码,登录Jenkins主页且已创建工程项目
(2)新建任务前面文章已介绍,具体见文“https://www.jianshu.com/p/8b017ede897f”
(3)配置远程SSH服务器前面文章已介绍,具体见文“https://www.jianshu.com/p/bc8ccd9d63ba”
第一步:点击“工程名称”
第二步:进入已创建的工程页面,点击“配置”
第三步:进入test工程配置页面,找到“构建”模块点击“增加构建步骤”,选择“调用顶层Maven目标”
第四步:配置Maven
(1)Maven的作用:Maven本质上是一个项目管理和理解工具,其中Jenkins这里用到的是将代码及依赖打成一个Jar包,整合成一个仓库
(2)mvn clean package
:清除以前的包后重新打包
(3)需要注意的是:
- 从构建的角度看POM文件,它作为一个控制文件。POM是Maven中的基本工作单元
- Maven管理项目必须依赖POM文件
- Maven项目打包编译后会生成target目录
(4)在生成第一个项目的原型之后,会创建以下目录结构
[root@iZ2zebjpjfqq58nc6ul6hnZ ly_test]# tree
.
├── pom.xml
├── README.md
└── src
└── main
└── java
└── se
└── labs
└── springboot
└── OurController.java
6 directories, 3 files
第五步:找到“构建后操作”模块点击“增加构建后操作步骤”,选择“Send build artifacts over SSH”
第六步:配置SSH Server相关信息,填写Name,Source files,Remove prefix,Remote directory,Exec command,完成后点击“保存”按钮
SSH Server配置注意事项:
(1)Name
:选择要发布的目标服务器
(2)Source files
:源文件。即要传到服务器的文件或文件夹。路径是相对Jenkins的workspace目录下的相对路径
- 源文件是文件,相对路径后可用正则表达式匹配。如“
custom/conf/*.ini
”- 如果源文件是文件夹,直接跟相对路径即可,无需加其他内容。如“
custom/
”(3)
Remove prefix
:移除目录。如果不想把custom目录创建到服务器端,这时可以在Remove prefix里填入custom。此时服务器中只有custom目录下的其他文件
(4)Remote directory
:远程目录。要上传到目标服务器的目录,不写默认会继承系统配置
- 远程目录就是用户空间所在的目录
- 如果是root用户,上传到服务器的文件则在
/root
目录下- 如果是test用户,上传到服务器的文件就会在
host/test
目录下(5)
Exec command
:连接服务器之后需要执行的命令
第七步:回到Jenkins工程页面,点击“立即构建”按钮
第八步:查看控制台输出
第九步:查看代码是否正确发布到指定服务器
进入到test用户工作空间:
cd /home/test
目录,查看代码是否存
[root@iZ2zebjpjfqq58nc6ul6hnZ ~]# cd /home/test
[root@iZ2zebjpjfqq58nc6ul6hnZ test]# ll
total 4
drwxrwxr-x 3 test test 4096 Jun 14 09:12 custom