自动化部署之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项目地址,我们先进行其他配置,等会再继 ...
随机推荐
- BSGS算法学习笔记
从这里开始 离散对数和BSGS算法 扩展BSGS算法 离散对数和BSGS算法 设$x$是最小的非负整数使得$a^{x}\equiv b\ \ \ \pmod{m}$,则$x$是$b$以$a$为底的离散 ...
- WebSocket、Socket
https://www.cnblogs.com/jingmoxukong/p/7755643.html#undefined WebSocket 详解教程 WebSocket介绍,与Socket的区别 ...
- Spring 学习——Spring JSR注解——@Resoure、@PostConstruct、@PreDestroy、@Inject、@Named
JSR 定义:JSR是Java Specification Requests的缩写,意思是Java 规范提案.是指向JCP(Java Community Process)提出新增一个标准化技术规范的正 ...
- Sql 获取当前日期没有时分秒
select convert(varchar(10),getdate(),120) 输出格式:2008-02-27 00:25:13 SELECT CONVERT(char(19), getdate( ...
- P4246 [SHOI2008]堵塞的交通
思路 同LOJ121 动态图连通性的板子 好像有很神的线段树做法,不会,先码住 代码 #include <cstdio> #include <algorithm> #inclu ...
- mysql重要sql小记
mysql -hip -uuser -p -A DB -e '[sql]' | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' & ...
- (转载)MySQL基础(非常全)
MySQL基础 一.MySQL概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access ...
- 【Hadoop 分布式部署 七: 使用ntp配置内网中集群机器时间同步 】
集群的时间要同步,如果时间不同步,会出现很多问题. 找一台机器做时间服务器 所有的机器与这台机器的时间进行定时的同步 比如,每日十分钟同步一次 我们这里使用 hadoop-senior.zuoyan ...
- Gtk 窗口,控件,设置(添加图片等)
1.关于窗口 // 创建顶层窗体,后面有POPUP的 GtkWidget *main_window; main_window = gtk_window_new (GTK_WINDOW_TOPLEV ...
- POJ 3414 Pots(罐子)
POJ 3414 Pots(罐子) Time Limit: 1000MS Memory Limit: 65536K Description - 题目描述 You are given two po ...