Jenkins相关设置

1,全局工具设置

包括java,git,maven,等工具的路径

JAVA

Jenkins相关设置

Git

Jenkins相关设置


MAVEN

Jenkins相关设置

2,系统设置

SSH remote hosts设置

jenkins服务器在打包之后,需要远程登录应用服务器,将打好的war包拷贝到应用服务器相应的tomcat目录下进行运行。

这个时候需在应用服务器上(测试环境服务器)创建~/.ssh文件夹和~/.ssh/authorized_keys文件,并将jenkins服务器的公钥id_rsa.pub中的内容复制到authorized_keys文件,然后在应用服务器上重启ssh服务:

service sshd restart

这样即可实现jenkins服务器免密码直接登陆应用服务器。

参考:https://www.cnblogs.com/YatHo/p/6739814.html

选择Jenkins中已经添加好的root凭据(Credentials),测试是否能连接成功

Jenkins相关设置

Jenkins相关设置


git服务器设置

Jenkins打包的时候需要先访问gitlab去clone代码,这个时候需要Gitlab能识别的凭证,这里使用的是我的git账号的API token,同样需要先建好相应的Credentials,然后这里设置时选择GitLab API token,测试连接是否成功。

Jenkins相关设置

Jenkins相关设置


Publish over ssh

这里填写部署用到的两个服务器信息,一个是jenkins服务器公钥文件存放的路径:root/.ssh/id_isa,一个是应用服务器的ip和登录的username。

Jenkins服务器的公钥、私钥对如何生成?使用如下命令:

ssh-****** -t rsa

一直回车就好了

然后提示公钥保存在pub后缀的文件中,私钥保存在._ssh后缀的文件中,将id_rsa.pub文件的内容拷贝出来,粘贴到应用服务器的authorized_keys文件中:

Jenkins相关设置

Jenkins服务器的公钥文件:id_isa.pub

Jenkins相关设置

应用服务器的:authorized_keys

Jenkins相关设置

设置好了之后测试一下联通性:

Jenkins相关设置



3,Remote Directory设置

Remote Directory是设置jenkins打出来的war包拷贝到测试服务器的目录。

Jenkins中有两个地方有Remote Directory设置,一个是系统设置->publish over ssh中的,一个是建的job->构建后的操作中的

Jenkins相关设置

Jenkins相关设置

一开始没有不太理解设置的规则,导致一直打的包放的位置找不到或者不对,无法拷贝成功,大概的规则是这样:

若是系统设置和job设置都设置了remote directory会进行自动拼接,比如系统设置的remote directory是:/usr/cheguo/apache-tomcat-8.5.29/webapps,job设置的remote directory设置的是:/Users/fanxx,那么打包后会自动在webapps目录下新建文件夹/Users/fanxx,然后把包拷过去:

最终包就在:/usr/cheguo/apache-tomcat-8.5.29/webapps/Users/fanxx

所以一般在全局设置中直接设置“/”,具体的目录在job中 指定即可。

4,Credentials管理

添加凭据:

Jenkins相关设置

Jenkins相关设置

凭据(即credentials)类型有秘钥方式(.ssh)、API token,用户名密码(包括服务器用户名密码,git账号密码),这里添加的各类凭证,都是用于Jenkins构建过程中需要访问服务器或者git的,添加之后会显示在相应的下拉列表中,若账号或者秘钥等被修改了,则需要相应更新Jenkins的凭证。

Jenkins相关设置