Jenkits搭建------芝波分享
一、准备工作
centOs8.0、vm虚拟机、JDK1.8、jenkins-2.190.3-1.1.noarch.rpm
虚拟机安装centOs系统可参考:
https://jingyan.baidu.com/article/b7001fe1d1d8380e7382dd72.html
centOs安装包下载地址:
http://isoredirect.centos.org/centos/8/isos/x86_64/CentOS-8-x86_64-1905-dvd1.iso
Jenkins的rpm安装包下载地址:
https://pkg.jenkins.io/redhat-stable/
jenkins插件网站上下载allure插件最新版本:
http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/
从Maven Center下载最新的allure安装包(.zip格式的,需要配置环境变量):
http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
二、jdk搭建
1. 搜索jdk安装包
yum search java|grep java
2. 下载jdk1.8
yum install java-1.8.0-openjdk, 下载后的默认目录在/usr/lib/jvm/下
3. 配置环境变量
vi /etc/profile,然后再文件尾部追加如下信息
#java
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
配置完环境变量之后source /etc/profile,使环境变量生效
4. 验证
java -version
参考文献:
https://blog.csdn.net/dhr201499/article/details/81626466
三、安装Jenkins
- 安装
将下载好的rpm通过ftp工具传输到/usr/local目录下,rpm -ivh 包名
- 修改端口号
vi /etc/sysconfig/jenkins,找到修改端口号处:JENKINS_PORT="8080",将端口号改为其他数字,如8088,防止端口冲突,修改完成后保存退出
- 启动jenkins
采用/etc/init.d/jenkins start命令启动jenkins,或者service jenkins start
- 通过浏览器浏览验证
本地浏览器中输入http://ip:port,ip为linux虚拟机的ip地址,通过ifconfig查看可得到port为第二步中修改的端口号8088
如果出现无法访问的情况:
- 首先看jenkins进程是否开启,ps -ef|grep -v grep|grep jenkins
- 如果开启了,再看下防火墙是否拦截了,firewall-cmd --list-ports查看有没有我们开放设置的jenkins端口;如果没有jenkins端口,采用firewall-cmd --permanent --zone=public --add-port=8088/tcp命令开启一下,注意port后面是我们设定的端口号;最后重启防火墙systemctl reload firewalld
参考如下:
https://blog.csdn.net/tzxsc8/article/details/94743709
- 初始密码保存地址
初始密码保存在:/var/lib/jenkins/secrets/initialAdminPassword,安装jenkins的过程中会让输入
四、Master和slave设置(主机与从机)
1. 新建节点
登录jenkins,Manage jenkins ---> Manage Nodes --->新建节点,输入节点名称,点击固定节点按钮,确定
名称:节点名称
描述:对改节点的描述信息
并发构建数:指的是并行能力,一般设置为1,执行一个自动化任务,运行的时候一次打开一个浏览器
远程工作目录:jenkins是以本地文件夹来管理数据的,这个工作目录就是相当于执行机专门开辟一个目录来为jenkins的任务存放数据的
用法:两个选项,一般选择第二个,指定任务就做,没指定就不做
启动方式:
Launch agent agents via SSH
Launch agent by connecting it to the master(Manage jenkins->Configure Global Security->代理->将禁用改成随机选取,保存之后才会出现这种方式,第一次安装jenkins默认没有这种方式)
Launch agent via execution of command on the master
SSH的支持mac和linux;第二种是符合设定的模式连接;第三种应该是命令行启动
可用性:一般选择Keep this agent online as much as possible
其他不动,点击保存
2. 实现master与slave的连接
- a. 继上述步骤之后,点击该节点进来,显示未连接,页面如下:
b. 点击该出的launch,会自动下载一个名为slave-agent.jnlp的文件
c. 运行slave-agent.jnlp文件,点击稍后
d. 再次点击launch,弹出框中点击运行
e. 会弹出一个jenkins agent框,等待显示连接成功,该弹框表示主机从机连接的凭证,不可以关掉该弹框,最小化即可
f. 连接成功
PS:如果agent连接报错provided port 40127 is not reachable,解决方法如下:
开放linux防火墙40127端口(具体端口看报错信息)允许下载jnlp,firewall-cmd --zone=public --add-port=40127/tcp --permanent;然后重启防火墙 firewall-cmd --reload
参考资料:https://blog.csdn.net/ljq730828/article/details/101801104
五、新建item与jenkins、allure测试报告的配置
参考资料:
https://www.cnblogs.com/Simple-Small/p/11512337.html
Allure需要先与jenkins集成,再进行如下操作(下列操作比较粗糙,操作过程中请参考小简老师的博客)
1.点击新建item
2.输入任务名称,点击Freestyle,点击确定
3.自行添加备注
4.指定从机,标签表达式中填写从机的节点名称
5.使用自定义的工作空间
6.源码管理选择,根据实际情况选择
7.构建,输入命令操作
8.构建后操作
六、jenkins安装踩坑
1.出现离线的情况,如下
解决办法:
1、本地重新打卡一个网页,输入网址http://localhost:8080/pluginManager/advanced。
2、这里面最底下有个【升级站点】,把其中的链接改成http的就好了,http://updates.jenkins.io/update-center.json。
3、重新启动,这样就能正常联网了。
2.出现如下error
解决方案:
1、打开链接“http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/”,在最下面找到并打开“latest”目录。
2、将目录中的”cloudbees-folder.hpi”下载下来后放在“jenkins安装目录\war\WEB-INF\detached-plugins”文件夹中。执行1、2步骤后刷新页面仍然出现“ No such plugin: cloudbees-folder”错误,需要重启jenkins服务。
3、在“控制面板-管理工具-服务”中找到“jenkins”服务,重启服务。
再次打开jenkins的链接 http://localhost:8080/ 后已经可以正常安装插件,问题解决
3.本地访问jenkins一直显示正在启动
解决办法:
编辑/var/lib/jenkins/updates/路径下的/default.json文件,把里面的第一行进行修改,将www.google.com改成www.baidu.com
七、附件参考