自动化部署之jenkins及简介
一、什么是持续集成?
(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
|
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 startStarting jenkins (via systemctl): [ OK ][root@7mini-node2 contos]# netstat -tunlp |grep :8080tcp6 0 0 :::8080 :::* LISTEN 2259/java |
4 输入初始化密码
|
1
2
|
[root@7mini-node2 contos]# cat /var/lib/jenkins/secrets/initialAdminPassworda93553a4865b45198ae28f77877efe19 #登陆界面有提示输入密码,初始密码文件为/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.gzmv 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_PORTservice jenkins restart |
系统管理-->系统配置
执行者数量:配置并发数量,一般设置为5,不超过10
用法:如果是主server,可以不选,如果是从级别必须选择“尽可能的使用这个节点”
生成前等待时间:配置该时间10s,避免错误操作,有时间返回

原文:https://www.cnblogs.com/hdwang/p/6081994.html
自动化部署之jenkins及简介的更多相关文章
- 运维自动化之11 - 自动化部署之jenkins及简介
https://www.cnblogs.com/jimmy-xuli/p/9020825.html
- Jenkins-在windows上配置自动化部署(Jenkins+Gitblit)
Jenkins-在windows上配置自动化部署(Jenkins+Gitblit) 1. 安装好 Jenkins(注:安装目录需没有空格,否则安装gitlab hook 插件时会报错,安装在c盘跟目录 ...
- Jenkins-在windows上配置自动化部署(Jenkins+Gitlab+IIS)
Jenkins-在windows上配置自动化部署(Jenkins+Gitlab+IIS) web部署样例 windows服务部署样例 系统备份 在服务器上创建后缀名为.ps1的文件,例:BackUpD ...
- Jenkins-在Centos上配置自动化部署(Jenkins+Gitlab+Rancher)
Jenkins-在Centos上配置自动化部署(Jenkins+Gitlab+Rancher) 环境:centos7 首先在服务器上安装好Jenkins和Gitlab和Rancher Gitlab安装 ...
- node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins
前言 每次项目代码更新后都要重新部署,如果只有一台服务器还好. 但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了. 这里用几篇文章来记录一下如何使用Jenkins,Doc ...
- Jenkins+maven+gitlab自动化部署之Jenkins部署(三)
本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...
- node项目自动化部署--基于Jenkins,Docker,Github(3)自动化部署
GitHub仓库 由于现在的代码基本上都是多人合作开发,所以肯定会用到像 git 这样的版本控制工具 所以这里使用 GitHub 来做一个演示 首先我们需要在github上新建一个仓库 点击New来新 ...
- node项目自动化部署--基于Jenkins,Docker,Github(2)配置节点
上一篇文章中准备工作已经完成的差不多了 这一篇主要讲解 Jenkins 上面的相关配置 为了让代码部署到所有的子节点上 所以我们首先需要在 Jenkins 中添加我们希望代码部署到的节点 配置节点 首 ...
- Jenkins-在windows上配置自动化部署(Jenkins+Bonobo.Git.Server)
本文配置Jenkins.git服务器采用 Bonobo.Git.Server 1. 登录后,打开Jenkins界面,新建一个任务 2. 配置信息 3. 配置git项目地址,我们先进行其他配置,等会再继 ...
随机推荐
- json排序 及替换在字符串中全部替换某字符串
var roadLine = '@ViewBag.RoadLine'; var jsonRoadLine = JSON.parse(roadLine.replace(/"/g, '\&quo ...
- Codeforces 837D Round Subset - 动态规划 - 数论
Let's call the roundness of the number the number of zeros to which it ends. You have an array of n ...
- topcoder srm 706 div1
1.给定一个迷宫,点号表示不可行,井号表示可行.现在可以改变其中的一些井号的位置.问最少改变多少个井号可以使得从左上角到右下角存在路径. 思路:设高为$n$,宽为$m$,若井号的个数$S$小于$n+m ...
- Windows 安装Java与配置环境变量
window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloa ...
- CentOS7.2 问题收集 查看文件大小 查看端口
1.在vmware中使用nat模式安装centos7.2,没有ifconfig命令? yum upgrade yum install net-tools 2.查看当前目录所有文件大小 [root@lo ...
- 深度学习课程笔记(七):模仿学习(imitation learning)
深度学习课程笔记(七):模仿学习(imitation learning) 2017.12.10 本文所涉及到的 模仿学习,则是从给定的展示中进行学习.机器在这个过程中,也和环境进行交互,但是,并没有显 ...
- EPPlus实战篇——Excel读取
.net core 项目 可以从excel读取任何类型(T)的数据,只要T中的field的[Display(Name = "1233")]中的name==excel column ...
- Kylin简介
来源 Cube: 用空间换时间(类似:BI分析) 预计算把用户需要查询的维度以及他们所对应的考量的值,存储在多维空间里 当用户查询某几个维度的时候,通过这些维度条件去定位到预计算的向量空间,通过再聚合 ...
- HDU 5724 Chess(SG函数+状态压缩)
http://acm.split.hdu.edu.cn/showproblem.php?pid=5724 题意: 现在有一个n*20的棋盘,上面有一些棋子,双方每次可以选择一个棋子把它移动到其右边第一 ...
- 1. AMQP 0-9-1模型简介(官网直译)
关于这篇指导文档 本文提供了AMQP 0-9-1协议的一个概述,它是RabbitMQ所支持的协议之一. AMQP 0-9-1是什么 AMQP 0-9-1(Advanced Message Queuin ...