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配置的更多相关文章

  1. Jenkins配置自动化构建

    转自: http://blog.sina.com.cn/s/articlelist_3053349671_14_1.html Jenkins 简介和安装(一) (2014-12-02 21:18:13 ...

  2. Jenkins持续集成企业实战系列之Jenkins配置演示-----03

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  3. Jenkins 配置 SpringBoot 自动构建部署

    服务器版本 Linux version 3.10.0-957.12.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8 ...

  4. jmeter3.0+ant1.10+jenkins实现接口自动化并发送邮件

    有很多关于接口自动化的文章,此篇仅用于记录自己的学习用.使用jmeter3.0+ant1.10+jenkins2.实现接口自动化并发送邮件,本篇是用的编写build文件来实现发送邮件,也可以用jenk ...

  5. 【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可不安 ...

  6. 有手就行10——Jenkins+SonarQube代码审查

    有手就行10--Jenkins+SonarQube代码审查 Jenkins+SonarQube代码审查(1) - 安装SonarQube Jenkins+SonarQube代码审查(2) - 实现代码 ...

  7. 使用jenkins配置.net mvc网站进行持续集成二

    上一篇使用jenkins配置.net mvc网站进行持续集成一只是简单介绍了jenkins构建站点到本地服务器,这一篇,就来讲解如何部署站点到指定的服务器上面. 1.IIS远程发布配置 1.在服务器管 ...

  8. kafka0.9.0及0.10.0配置属性

    问题导读1.borker包含哪些属性?2.Producer包含哪些属性?3.Consumer如何配置?borker(0.9.0及0.10.0)配置Kafka日志本身是由多个日志段组成(log segm ...

  9. 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置

    安装Eclipse插件——Buildship 什么是Buildship? Buildship能方便我们通过Eclipse IDE创建和导入Gradle工程,同时还能执行Gradle任务. Eclips ...

  10. suse linux 10 下配置vpn服务器(pptp)

     一.安装所需的软件包:      pptpd-*.rpm      ppp-*.rpm      pptp-*.rpm     一般情况下系统已经将pptp和ppp包安装好了,所以只需安装pptpd ...

随机推荐

  1. [Linux]常用命令、组合命令以及输入输出重定向

    [Linux]常用命令.组合命令以及输入输出重定向 2020-03-10阅读 1580   原创文章 文章目录 0.切换目录 1.复制文件和目录`cp` 1.1.复制文件 1.2.复制目录 1.3.扩 ...

  2. Vim删除空行

    Vim删除空行 1 Vim删除空行 打开vim输入:g/^$/d :g将在与正则表达式匹配的行上执行命令. 正则表达式是'空行',命令是:d (删除)

  3. 使用Prometheus Operator 监控Kubernetes(15)

    一.Prometheus概述: Prometheus是一个开源系统监测和警报工具箱. Prometheus Operator 是 CoreOS 开发的基于 Prometheus 的 Kubernete ...

  4. [leetcode] 37. 解数独(Java)(dfs,递归,回溯)

    37. 解数独 1A 这个题其实15分钟左右就敲出来并且对了...但是由于我输错了一个数..导致我白白debug一个多小时.. 没啥难度,练递归-dfs的好题 class Solution { pri ...

  5. GO学习-(30) Go语言操作kafka

    go操作kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能.持久化.多副本备份.横向扩展等特点.本文介绍了如何使用Go语言发送和接收 ...

  6. pytest + allure

    参考allure官网: https://docs.qameta.io/allure/#_pytest 1.使用命令pip install pytest-allure安装 注意:我遇到的一个现象,用命令 ...

  7. NNVM Compiler,AI框架的开放式编译器

    NNVM Compiler,AI框架的开放式编译器 深度学习已变得无处不在且不可或缺.在多种平台(例如手机,GPU,IoT设备和专用加速器)上部署深度学习工作负载的需求不断增长.宣布了TVM堆栈,以弥 ...

  8. Tengine AIFramework框架

    Tengine AIFramework框架 在开源大势下,以数据.算力.算法为三驾马车的人工智能实现了初级阶段的产业化落地.任何一个技术领域成熟的标志是从应用到平台的成功迭代,AI 也不例外,最终引导 ...

  9. Structured Streaming编程 Programming Guide

    Structured Streaming编程 Programming Guide Overview Quick Example Programming Model Basic Concepts Han ...

  10. 可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读

    可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读 Visual Deprojection: Probabilistic Recovery of Collapsed Dimensions 论文链接: ...