工具-Jenkins
参考文献
使用Yum
安装后,默认文件目录
1 | /usr/lib/jenkins/jenkins.war WAR包 |
-
配置文件:
/etc/sysconfig/jenkins
- 默认工作空间:
JENKINS_HOME="/var/lib/jenkins"
- 默认工作空间:
-
启动目录:
/usr/lib/jenkins
-
修改Java目录
-
查看Java路径:
which java
1
2[root jenkins]# which java
/usr/local/jdk1.8/bin/java -
配置:
1
[root@holelin jenkins]# vim /etc/rc.d/init.d/jenkins
-
将jenkins
用户加入root
组
1 | gpasswd -a root jenkins |
完整配置文件
1 | ## Path: Development/Jenkins |
使用指定的JDK,修改jenkins启动脚本
卸载Jenkins
1 | # 仅删除 Jenkins 的主程序文件(二进制、脚本等),但保留其配置文件和数据(如 /etc/jenkins、/var/lib/jenkins 等 |
插件Publish Over SSH
使用
使用步骤
- 安装Publish Over SSH插件
- 配置Linux系统的SSH服务免密登录
- 在Jenkins系统设置中添加SSH Server
- 在具体项目中配置
配置说明
公共配置
- Passphrase:密码(key的密码,如果你设置了)
- Path to key:key文件(私钥)的路径
- 注: Jenkins服务器所在服务器私钥文件路径
- Key:将私钥复制到这个框中
- 注: Jenkins服务器所在服务器私钥文件内容
- Disable exec:禁止运行命令
私有配置
- SSH Server Name:标识的名字(随便你取什么)
- Hostname:需要连接ssh的主机名或ip地址(建议ip)
- Username:用户名
- Remote Directory:远程目录
- Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)
私有配置的高级:
- Port:端口(默认22)
- Timeout (ms):超时时间(毫秒)默认即可
- Disable exec:禁止运行命令
- Test Configuration:测试连接
项目配置
-
启用步骤: 构建后操作→Add post-build action→Send build artifacts over SSH
-
SSH Server Name:选个一个你在系统设置里配置的配置的名字
-
Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径.看后面的配置可以填写多个,默认用,分隔)
-
Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)
-
Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写.默认会继承系统配置)
-
Exec command:把你要执行的命令写在里面
-
高级:
- Exclude files:排除的文件
- Pattern separator:分隔符(配置Transfer Set Source files的分隔符.如果你这儿更改了,上面的内容也需要更改)
- No default excludes:禁止默认的排除规则
- Make empty dirs:此选项会更改插件的默认行为.默认行为是匹配该文件是否存在,如果存在则创建目录存放.选中此选项会直接创建一个目录存放文件,即使是空目录.
- Flatten files:只上传文件,不创建目录
- Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remote directory中配置日期格式),具体格式参考下表:
Remote directory Directories created 'qa-approved/'yyyyMMddHHmmss
qa-approved/20101107154555
'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}'
builds/2010/11/07/build-456
(if the build was number 456)yyyy_MM/'build'-EEE-d-HHmmss
2010_11/build-Sun-7-154555
yyyy-MM-dd_HH-mm-ss
2010-11-07_15-45-55
-
Exec timeout (ms):运行脚步的超时时间(毫秒)
-
Exec in pty:模拟一个终端执行脚步
-
Add Transfer Set:增加一个配置
具体操作
环境说明
1 | 两台服务器: |
安装插件
- 系统管理→管理插件→可选插件→Artifact Uploaders→Publish Over SSH
生成秘钥
-
在Jenkins服务器上生成秘钥
1
ssh-keygen -m PEM -t rsa -b 4096
-
说明: 此处建议使用指定rsa秘钥类型来生成秘钥,其他类型的秘钥,可以插件无法识别导致,无法连接应用服务器.
-
秘钥若不指定路径,默认在当前用户目录下的
.ssh/
路径下
-
-
在应用服务器上的
.ssh/authorized_keys
文件中添加Jenkins服务器的公钥,即文件路径为.ssh/id_rsa.pub
的内容 -
添加完成后,可以在Jenkins服务器上使用命令
ssh username@应用服务器的IP
尝试连接一下,看一下是否能连接上.- 若能连接上,说明配置正确;
- 若不能连接上,在检查配置无误后,可以尝试重启SSH服务
systemctl restart sshd
配置插件
-
登录Jenkins管理页面,进入系统设置
-
根据配置说明填写对应的信息,填写完成后,点击"Test Configuration",若出现"Success"说明配置成功