目录
一.Jenkins介绍
二.环境依赖
三.Jenkins部署
四.构建自动化测试项目
五.多节点运行测试项目部署
六、遇到的几个小问题:
6.1.备份
6.2.添加ip端口到同网段
6.3.设置jenkins的项目路径
6.4如果重启Jenkins或者改变其工作目录以后,需要重新解锁Jenkins
6.5 jenkins 开机自启动问题的解决
6.6 新建任务,节点机器配置问题
6.7添加多个git仓库的配置
6.8 jenkins服务器节点迁移配置文件到另一台机器
6.9 节点机器设置ssh开机自启动
Jenkins是一个广泛用于持续构建的可视化Web工具,持续构建就是将项目自动化编译、打包、部署。通过规范化来完成,简单,繁琐,浪费时间的重复工作。
1.jdk环境(必须)
提供一个链接下载jdkjdk安装,只看这一篇就够了_程序员小小生的博客-CSDN博客_jdk安装包
如何在Ubuntu 18.04上安装Java(JDK11) - 简书
2.git/svn客户端,因一般代码是放在git/svn服务器上的,我们需要拉取代码。
3.maven客户端,因一般java程序是由maven工程,需要maven打包,当然也有其他打包方式。
1.war包下载
wget https://mirrors.huaweicloud.com/jenkins/war/latest/jenkins.war
2.启动Jenkins
java -jar jenkins.war --httpPort=8001(端口设置为除8080外端口号)
3.浏览器网址输入:http://localhost:8001,等一会
4.出现下面这个界面,将步骤2中生成的密码复制进去
5.初始化Jenkins
创建第一个管理员用户
初始界面如下:
可以安装一些常用插件,以便更好使用Jenkins
安装自己所需插件,比如git maven等
1.先进行Jenkins配置
以上是我安装的环境依赖在Jenkins中的配置。可根据实际情况配置。
至此,就是一个简单的例子。
1.创建节点
创建节点之前先将节点服务器添加到known_hosts文件中。直接通过ssh命令在部署jenkins的服务器中登陆节点服务器,登陆成功就会将节点服务器添加到known_hosts文件中。
2.新建节点
创建一个多配置的项目
配置完成后,进行项目构建即可。
注意:添加的节点环境都需要安装java
如果被备份到另一台机器,还需在新的机器添加ssh。
可以安装插件ThinBackup进行备份。在插件管理页面找到`ThinBackup`插件,安装即可,安装完以后,在`manage jenkins`界面会出现`ThinBackup`菜单项,点击进去后进入settings设置界面,进行备份设置。
**Backup directory**:
备份目录,用于存储备份的文件,如果指定的目录不存在,默认在进行备份之前会自动创建。
**Backup schedule for full backups**:
进行备份的计划任务,与linux下的crontab一样,其中上面的H,代表哈希,为了允许定期调度的任务在系统上产生均匀负载,应尽可能使用符号H(用于“散列”)。例如,如果多个job都设置使用`0 0 * * *`将导致负载大幅飙升。相比之下,使用H H * * *仍然会每天执行一次每个job,但不会同时执行,更好地使用有限的资源。
**Backup schedule for differential backups**:
进行差异化备份的计划任务,同上。
**Max number of backup sets**:
备份的最大数量。
**Files excluded from backup (regular expression)**:
不需要进行备份的文件的正则表达式。
**Wait until Jenkins/Hudson is idle to perform a backup**:
等待jenkins空闲多长时间后进行备份。
**Backup build results**:
如果启用此选项,还将备份构建结果,一般不建议勾选此选项。
**Backup 'userContent' folder**:
备份`${jenkins_home}/userContent `目录下的文件。
**Backup next build number file**:
备份jenkins构建的build id文件。
**Backup plugins archives**:
备份插件。
**Clean up differential backups**:
完成备份以后清除所有的差异备份。
**Move old backups to ZIP files**:
如果选中此选项,则无论何时执行新的完整备份,所有旧备份集都将移至ZIP文件。每个ZIP文件将包含一个备份集,即一个完整备份和任何引用该备份文件的差异备份。文件名将标识包含备份的时间范围(即完整备份的时间戳和最新差异备份的时间戳)。
备份策略根据自己实际情况定义即可。
还有一种解决方案,jenkins工作目录默认在/home下的用户目录下的.jenkins
可以将其拷贝到另一台机器,其配置以及项目信息都会在另一台机器上,不需要重新配置。
sudo ufw status 查看状态
sudo ufw allow 端口号
修改 vi /etc/profile文件
添加环境变量:export JENKINS_HOME=/home/test/.jenkins
更新profile: source /etc/profile
遇到这种问题,可以更新一下profile文件,再次启动就可以了。
1.先写一个脚本,jenkins.sh
6.7添加多个git仓库的配置
2.创建jenkins.service文件
cd /lib/systemd/system
vi jenkins.service
3.刷新服务配置
systemctl daemon-reload
4.启动jenkins服务
systemctl start jenkins.service
5.查看jenkins状态
systemctl status jenkins.service
6.将jenkins服务设置为开机自启动
systemctl enable jenkins.service
7.查看设置的开机服务列表
systemctl list-units --type=service | grep jenkins
8.重启服务就可以生效了
1.选择Freestyle project
选择该项目时,选择多个节点机器的时候,通过Lable设置。Lable设置是在添加节点机器设置。
此处选择Multiple SCMs,设置与一个仓库类似
想要实现在一台机器上配置好的节点机器信息,或者是项目信息可以移植到另一台新机器上,
将一台机器中相关对应的文件夹拷贝到另一台机器的对应目录下,对应的文件夹会被覆盖。
节点机器可能还需重新连接,一定要记得ssh 用户名@ip 添加私钥,否则无法信任新机器,会导致节点机器连接失败。
安装ssh服务
sudo apt-get install openssh-server
启动ssh服务
sudo /etc/init.d/ssh start
设置开机自启动
sudo systemctl enable ssh
关闭ssh开机自动启动命令
sudo systemctl disable ssh
单次开启ssh
sudo systemctl start ssh
单次关闭ssh
sudo systemctl stop ssh
设置好后重启
reboot