10、Jenkins配置
10.0、服务器说明:
服务器名称 |
ip地址 |
slave-node1 |
172.16.1.91 |
10.1、持续集成:
1、什么是持续集成:
持续集成是一种软件开发时实践,即团队开发成员经常集成他们的工作,通常每个成员每
天至少集成一次,也就意味着每天可能会发生多次的集成。每次集成都通过自动化进行构建(包括
编译、发布、自动测试)来进行验证,从而尽快的发现集成错误。许多团队发现这个过程可以大大
减少集成的问题,让团队能过更快的开发内聚的软件。
2、没有持续集成的状态:
3、持续集成的最佳实践:
(1)维护一个单一的代码库;
(2)是构建自动化;
(3)执行测试是构建的一部分;
(4)集成日志及历史记录;
(5)使用统一的依赖包管理库;
(6)每天至少集成一次;
4、持续集成概览:
10.2、什么是Jenkins:
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成、自动测试、持续部署的超级引擎,旨在
提供一个开放易用的软件平台,使软件的持续集成变成可能。
10.3、安装Jenkins:
1、安装依赖包:
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
2、安装Jenkins:
cd /tools/
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.160-1.1.noarch.rpm
rpm -ivh jenkins-2.160-1.1.noarch.rpm
3、配置参数:
vim /etc/sysconfig/jenkins
JENKINS_USER="root"
#默认用户是jenkins,但是会有权限的障碍,这使用root;
JENKINS_PORT="8080"
4、启动Jenkins并加入开机自启:
service jenkins start
chkconfig jenkins on
5、检查:
netstat -tunlp | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 1716/java
ps -ef | grep jenkins
root 1716 1 99 01:30 ? 00:01:01 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djav
a.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkin/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
10.4、http登陆Jenkins进行设置:
1、关闭连接的互联网,否则Jenkins安装时会卡住,原因是Jenkins需要访问国外的Jenkins官网,直到返回结果;
2、设置密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
#该密码是随机的一次性密码,安装完成后该文件会被自动删除;
3、跳过插件安装:
4、创建管理员用户:
5、设置Jenkins资源访问的url地址:
6、登录:
7、设置软件插件更新的地址:
8、设置系统管理参数:
(1)
10.5、更新插件:
1、上传离线包:
cd /tools/
rz -y 上传离线Jenkins插件包;
2、将离线插件包覆盖jenkins插件安装目录(默认是空的插件目录):
tar -xzf plugins.tar.gz -C /var/lib/jenkins/
3、赋权:
chown -R jenkins.jenkins /var/lib/jenkins/plugins/
4、重启Jenkins:
service jenkins restart
5、更新插件:
(1)更新:
(2)更新中心:
(3)重启jenkins使更新的插件生效;
(4)提示:
打包更新后的插件做备用;
cd /var/lib/jenkins/
tar -czf /tools/plugins.tar.gz plugins/
jenkins没有数据库,所有的用户配置都在xml文件中;
10.6、补充:
1、插件:
(1)默认插件:
(2)常用插件:
2、jenkins目录:
(1)/var/lib/jenkins #主目录;
(2)/etc/init.d/jenkins #启动文件;
(3)/var/cache/jenkins #程序文件;
(4)/var/log/jenkins #日志文件;
(5)/usr/lib/jenkins/jenkins.war #升级jenkins的war包;
3、备份:
(1)备份时备份的是jenkins主目录‘/var/lib/jenkins/';
(2)写一个每天备备份的脚本,保留15天的备份(参考之前的备份代码);
4、配置邮箱:
(1)在网易邮箱上创建一个邮箱用户,并开通smtp邮件服务,具体方法可
参考'4、git和gitlab的配置——4.14、配置gitlab邮件:——1、在网易注册一个163邮箱并开通smtp服务:';
(2)配置管理员邮箱地址:
(3)配置smtp邮箱发件人信息:
jenkins自带了邮箱插件,但是自定义性太差,所有使用Email Extension Plugin插件实现邮件的发送;
1)
附录(邮件内容模板):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
<td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>触发原因: ${CAUSE}</li>
<li>构建状态: ${BUILD_STATUS}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交:${GIT_REVISION}</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
</td>
</tr>
</table>
</body>
</html>
5、如何升级jenkins:
(1)下载 jenkins 升级所用的war包:
cd /tools/
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.170/jenkins.war
(2)验证jenkins以前的版本:
(3)停止jenkins服务:
service jenkins stop
(4)备份旧版本的jenkins:
mv /usr/lib/jenkins/jenkins.war /usr/lib/jenkins/jenkins.war.bak
(5)复制新版本的jenkins war 包:
cp -a /tools/jenkins.war /usr/lib/jenkins/
(6)启动jenkins:
service jenkins start
netstat -tunlp | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 1851/java
(7)验证jenkins版本:
到此jenkins升级完成;
10、Jenkins配置的更多相关文章
- Jenkins配置自动化构建
转自: http://blog.sina.com.cn/s/articlelist_3053349671_14_1.html Jenkins 简介和安装(一) (2014-12-02 21:18:13 ...
- Jenkins持续集成企业实战系列之Jenkins配置演示-----03
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- Jenkins 配置 SpringBoot 自动构建部署
服务器版本 Linux version 3.10.0-957.12.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8 ...
- jmeter3.0+ant1.10+jenkins实现接口自动化并发送邮件
有很多关于接口自动化的文章,此篇仅用于记录自己的学习用.使用jmeter3.0+ant1.10+jenkins2.实现接口自动化并发送邮件,本篇是用的编写build文件来实现发送邮件,也可以用jenk ...
- 【Linux】php7.2.8 + xdebug + composer + php代码覆盖率 + jenkins配置 (实操记录,亲测可用)
[一.linux安装php 7.2.8] 1.wget http://nginx.org/download/nginx-1.9.9.tar.gz # nginx可不安 ...
- 有手就行10——Jenkins+SonarQube代码审查
有手就行10--Jenkins+SonarQube代码审查 Jenkins+SonarQube代码审查(1) - 安装SonarQube Jenkins+SonarQube代码审查(2) - 实现代码 ...
- 使用jenkins配置.net mvc网站进行持续集成二
上一篇使用jenkins配置.net mvc网站进行持续集成一只是简单介绍了jenkins构建站点到本地服务器,这一篇,就来讲解如何部署站点到指定的服务器上面. 1.IIS远程发布配置 1.在服务器管 ...
- kafka0.9.0及0.10.0配置属性
问题导读1.borker包含哪些属性?2.Producer包含哪些属性?3.Consumer如何配置?borker(0.9.0及0.10.0)配置Kafka日志本身是由多个日志段组成(log segm ...
- 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置
安装Eclipse插件——Buildship 什么是Buildship? Buildship能方便我们通过Eclipse IDE创建和导入Gradle工程,同时还能执行Gradle任务. Eclips ...
- suse linux 10 下配置vpn服务器(pptp)
一.安装所需的软件包: pptpd-*.rpm ppp-*.rpm pptp-*.rpm 一般情况下系统已经将pptp和ppp包安装好了,所以只需安装pptpd ...
随机推荐
- Telnet 对比 SSH
# 命令行 ssh 比teltet 加密好 图形 vnc只能传递图形 不能传递声音,linux为服务端,vnc客户端为windows 和linux vnc是windows连linux rdp是linu ...
- 使用ps、top、ps_mem命令找出Linux中的最大内存消耗过程
使用ps.top.ps_mem命令找出Linux中的最大内存消耗过程 2020-02-08 16:06:59作者:自力稿源:云网牛站 您可能已经看到Linux系统多次消耗过多的内存,如果是这种情况,那 ...
- Zabbix 监控过程详解
Zabbix 监控过程详解 一.修改密码及中文语言 修改密码 修改中文语言 如果复选框中没有 Chinese(zh_CN) 选项,需要安装中文包 [root@Zabbix-server ~]# yum ...
- Linux 目录管理
tree命令的基本使用 tree 查看当前目录的树状结构 -a 查看所有包含隐藏文件 -L 1 查看目录层级 tree /root 指定目录 根目录下的主要文件 /bin 普通用户可以执行的二进制文件 ...
- linux服务之FTP服务篇
一.FTP协议 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP (File Transfer ...
- GO学习-(35) Go实现日志收集系统4
Go实现日志收集系统4 到这一步,我的收集系统就已经完成很大一部分工作,我们重新看一下我们之前画的图: 我们已经完成前面的部分,剩下是要完成后半部分,将kafka中的数据扔到ElasticSear ...
- Git如何下载clone指定的tag
Git如何下载clone指定的tag 如上图,我想下载Tags标签为solution-4 的代码,如何处理呢? 命令如下: git clone --branch solution-4 git@gith ...
- ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...
- Ubuntu 20.04 Docker 安装并配置
前言 Docker 的使用能极大地方便我们的开发,减少环境搭建,依赖安装等繁琐且容易出错的问题. 安装 Docker Ubuntu 20.04 官方 apt 源中就有 Docker,我们可以直接通过 ...
- AIoT 2020 年分析
AIoT 2020 年分析 2020年,从智能手机到智能手表,从智能摄像头到智能汽车,随着AI.芯片.云计算.通信等基础技术的逐渐成熟,又一个行业来到了历史性的时刻--AIoT. 从"万物互 ...