自动化部署之jenkins

转自:http://blog.51cto.com/jinlong/2052783


一、什么是持续集成?

(1)Continuous integration(CI)

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

image.png

(2)没有持续集成

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

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

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


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

维护一个单一的代码库

使构建自动化

执行测试是构建的一部分

集成日志及历史记录

使用统一的依赖包管理库

每天至少集成一次


(4)jenkins介绍

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

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


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

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

2.编译      (可选)

3.配置文件放进去

4.打包

5.scp到目标服务器

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

7.解压并放置到Webroot

8.Scp 差异文件

9.重启      (可选)

10.测试

11.加入集群

二、jenkins部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
(1)安装JDK 
[root@linux-node2 ~] # yum instsall -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
 
(2)下载jenkins的rpm包
[root@linux-node2 ~] # wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.32.3-1.1.noarch.rpm
--2017-12-21 09:11:58--  https: //mirrors .tuna.tsinghua.edu.cn /jenkins/redhat-stable/jenkins-2 .32.3-1.1.noarch.rpm
正在解析主机 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.6.178, 2402:f000:1:416:101:6:6:177
正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.6.178|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:69675984 (66M) [application /x-redhat-package-manager ]
正在保存至: “jenkins-2.32.3-1.1.noarch.rpm”
 
(3)安装jenkins
[root@linux-node2 ~] # rpm -ivh jenkins-2.32.3-1.1.noarch.rpm 
警告:jenkins-2.32.3-1.1.noarch.rpm: 头V4 DSA /SHA1  Signature, 密钥 ID d50582e6: NOKEY
准备中...                           ################################# [100%]
正在升级/安装...
    1:jenkins-2.32.3-1.1                ################################# [100%]
    
(4)启动jenkins
[root@linux-node2 ~] # service jenkins start
Starting jenkins (via systemctl):                          [  确定  ]
 
[root@linux-node2 ~] # netstat -tulnp|grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      42160 /java 
浏览器访问:192.168.56.12:8080:如图
[root@linux-node2 ~] # cat /var/lib/jenkins/secrets/initialAdminPassword
8addd06f53f6405da6133356af1ca3b0     #登陆界面有提示输入密码,初始密码文件为/var/lib/jenkins/secrets/initialAdminPassword
 
友情提示:jenkins如果跟gitlab在一台服务器需要将jenkins的端口进行修改,需要将jenkins的8080修改为其他端口

image.png

安装所有插件:

image.png

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

image.png


三、jenkins的插件以及配置

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

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


image.png

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

image.png

因为很多插件需要×××才可以继续下载,jenkins还提供了代理的设置

  1. 还是在服务器目录下进行上传插件

  2. 目录路径= /var/lib/jenkins/plugins/

  3. 这个目录下是我们安装所有的插件


jenkins的目录介绍:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@linux-node2 ~] # 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的日志文件
 
jenkins的升级,只需要将war包解压到 /var/lib/jenkins 目录下,重启jenkins即可。
 
友情提示:
卡启动问题
jenkins在第一次安装启动时会向官网回传信息,如果网络离线可以正常安装。当网络在线,但是
还有可能是内存不足
 
备份:
tar  zcvf jenkins. tar .gz  /var/lib/jenkins

系统管理-->系统配置

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

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

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

image.png

image.png


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值