一、什么是持续集成?

(1)Continuous integration(CI)

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

(2)没有持续集成

项目做模块集成的时候,发现很多借口都不通==>浪费大量时间

需要手动去编译打包最新的代码==>构建过程不透明

发布代码,上线,基本靠手工==>脚本乱飞

(3)持续集成最佳实践:

维护一个单一的代码库

使构建自动化

执行测试是构建的一部分

集成日志及历史记录

使用统一的依赖包管理库

每天至少集成一次

(4)jenkins介绍

Jenkins只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有 
Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被收购,成为商业版。后来创始人又写了一个jenkins,jenkins在功能上远远超过hudson

Jenkins官网:https://jenkins.io/

Jenkins下载:http://updates.jenkins-ci.org/

jenkins的全部镜像:http://mirrors.jenkins-ci.org/status.html

(5)部署代码上线流程:

1.代码获取(直接了拉取)

2.编译      (可选)

3.配置文件放进去

4.打包

5.scp到目标服务器

6.将目标服务器移除集群

7.解压并放置到Webroot

8.Scp 差异文件

9.重启      (可选)

10.测试

11.加入集群

二、jenkins部署

1.安装JDK

1
[root@7mini-node2 ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

2.安装jenkins

[root@7mini-node2 contos]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
[root@7mini-node2 contos]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@7mini-node2 contos]# yum install jenkins
1
[root@7mini-node2 contos]# rpm -ivh jenkins-2.32.3-1.1.noarch.rpm
 

3.启动

1
2
3
4
5
[root@7mini-node2 contos]# service jenkins start
Starting jenkins (via systemctl): [ OK ]
 
[root@7mini-node2 contos]# netstat -tunlp |grep :8080
tcp6 0 0 :::8080 :::* LISTEN 2259/java

4  输入初始化密码

1
2
[root@7mini-node2 contos]# cat /var/lib/jenkins/secrets/initialAdminPassword
a93553a4865b45198ae28f77877efe19    #登陆界面有提示输入密码,初始密码文件为/var/lib/jenkins/secrets/initialAdminPassword

 

安装插件完成,设置用户名:jenkins,密码:jenkins

三、jenkins的插件以及配置

jenkins系统管理比较重要的就是插件管理了 ,因为jenkins的工作全部是由插件来完成。

在插件管理中,有可更新、可选插件、已安装,日常的插件安装都是在这个界面上完成的。比如为了和gitlab协同,我们需要安装gitlab的插件。

当插件安装不上的时候,可以直接去网上瞎子啊,进行安装

1
2
3
4
5
6
7
下载地址
http://updates.jenkins-ci.org/
 
解压备份plugin.tar.gz
mv plugins /var/lib/jenkins/
chown -R jenkins.jenkins plugins/
service jenkins restart

  

在高级选项中,我们可以在jenkins官网下载插件,然后上传插件 ,如图:

因为很多插件需要×××才可以继续下载,jenkins还提供了代理的设置
还是在服务器目录下进行上传插件
目录路径= /var/lib/jenkins/plugins/
这个目录下是我们安装所有的插件

jenkins的目录介绍:

1
2
3
4
5
6
7
8
9
10
[root@7mini-node2 contos]# rpm -ql jenkins
/etc/init.d/jenkins                #jenkins的启动文件
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins             #jenkins的配置文件(可以写改默认端口)
/usr/lib/jenkins                  
/usr/lib/jenkins/jenkins.war       #jenkins的程序war包
/usr/sbin/rcjenkins                #jenkins的为二进制文件
/var/cache/jenkins                 #jenkins的程序文件,运行程序解压出来的
/var/lib/jenkins                   #jenkins的主目录
/var/log/jenkins                   #jenkins的日志文件
1
jenkins的升级,只需要将war包解压到/var/lib/jenkins目录下,重启jenkins即可。 <br>友情提示: 卡启动问题 jenkins在第一次安装启动时会向官网回传信息,如果网络离线可以正常安装。<br>当网络在线,但是 还有可能是内存不足 <br>备份: tar zcvf jenkins.tar.gz /var/lib/jenkins,写一个定时任务的脚本,保留15天的备份,通过增量备份。

在测试环境中改成root用户来进行配置

1
2
3
4
5
6
vim /etc/sysconfig/jenkins
将用户修改为root,可以调用root工具
 29 JENKINS_USER="root"
 
修改启动端口85行,$JENKINS_PORT
service jenkins restart

  

系统管理-->系统配置

执行者数量:配置并发数量,一般设置为5,不超过10

用法:如果是主server,可以不选,如果是从级别必须选择“尽可能的使用这个节点”

生成前等待时间:配置该时间10s,避免错误操作,有时间返回

linux 搭建jenkins的更多相关文章

  1. Linux 搭建 Jenkins

    环境准备 安装JDK 安装 JDK 之前写过一篇文章,本文就不具体讲了: Linux 安装 JDK 注意:Java版本不能是gcj,会导致Jenkins有问题,centos7搭建jenkins小记文章 ...

  2. linux 搭建jenkins+创建maven工程JOB

    1.linux 安装jenkins 网上搜到这样安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redh ...

  3. 【Jenkins】Linux搭建Jenkins平台

    为了配合上一篇的ant+jenkins做持续集成,需要在linux环境下搭建一个jenkins平台.网上有很多安装的例子,我主要记录一下自己遇到的问题,真真的是特别惆怅的,每次我遇到的问题都格外多. ...

  4. 一、linux搭建jenkins+github详细步骤

    事情缘由: 现在在做的主要工作是通过jenkins+postman实现api的自动化测试,想要达到的效果是,api自动化测试定时跑脚本的同时,github有新的代码提交,jenkins会自动检测部署新 ...

  5. linux搭建jenkins+github详细步骤

    事情缘由: 现在在做的主要工作是通过jenkins+postman实现api的自动化测试,想要达到的效果是,api自动化测试定时跑脚本的同时,github有新的代码提交,jenkins会自动检测部署新 ...

  6. Linux搭建Jenkins

    1.添加存储库 yum的repo中默认没有Jenkins,需要先将Jenkins存储库添加到yum repos,执行下面的命令: 使用wget -O下载并以不同的文件名保存 [root@besttes ...

  7. linux 搭建 jenkins 前端自动构建时,老是提示 sh: vue-cli-service: command not found

    如题. 在 shell 里面执行  env 发现一个   NODE_ENV=production  的环境变量,是这个东西的原因. 通过  unset NODE_ENV  命令去掉这个环境变量就可以了 ...

  8. Linux下Jenkins服务器搭建

    系统环境 操作系统:CentOS6.9 java jdk:java 8 Jenkins版本:jenkins-2.78-1.1.noarch.rpm 关闭防火墙 注意:如果是基于msbuild构建.ne ...

  9. Linux下Jenkins+git+gradle持续集成环境搭建

    Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集  发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文   一.项目介绍 和 linux ...

随机推荐

  1. Vim学习与总结

    1. :w 后面可以加文件名 2. 使用hjkl 来移动光标,当然你也可以使用箭头.j就是向下的箭头,k是向上,h向左, l向右 3.  :help <command> → 显示相关命令的 ...

  2. phpexcel使用说明2

      转自:http://serisboy.iteye.com/blog/1928139 首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPE ...

  3. sql.date

    package com.sxt.utils.date1; import java.sql.Date; /* * sql.date:没有时,分,秒 */ public class TestDate2 { ...

  4. oracle函数 CHR(n1)

    [功能]:将ASCII 码转换为字符. [参数]:n1,为0 ~ 255,整数 [返回]:字符型 [示例] SQL> select chr(54740) zhao,chr(65) chr65 f ...

  5. day1_python之字符串的常用操作

    python字符串操作常用操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下. 1.去除空格 str.strip():删除字符串两边的指定字符,括号的写入指定字符, ...

  6. hdu 4063 Aircraft (Geometry + SP)

    Problem - 4063 几何加简单最短路. 题意是给出若干圆的圆心以及半径,求出从给出的起点到终点的最短路径的长度,可以移动的区域是圆覆盖到的任意一个位置. 做法是这样的,对圆两两求交点,用这些 ...

  7. 安装win下的Anaconda ----针对python3.6.4版本

    我的python版本是3.6.4, Anaconda下载地址: Anaconda官网:https://repo.anaconda.com/archive/ 清华大学镜像站:https://mirror ...

  8. 洛谷P1488 肥猫的游戏 题解 博弈论入门

    题目链接:https://www.luogu.org/problem/P1488 其实这道题目我只需要 \(n\) 以及黑色三角形的三个端点编号就可以了. 我们假设在一个 \(n\) 边形中,黑色三角 ...

  9. C# 总结复习---知识点

    知识点: 1. 转义字符: Console.WriteLine("C:\\asdfg\\sdfd");   ----    "\\"是转义斜杠后面紧跟着的字符C ...

  10. Nutch2.3 编译

    $ antBuildfile: build.xmlTrying to override old definition of task javac ivy-probe-antlib: ivy-downl ...