一、什么是持续集成?

(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

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

2.安装jenkins

rpm -ivh jenkins-2.32.3-1.1.noarch.rpm

3.启动

service jenkins start  ==> Starting jenkins (via systemctl): [ OK ]
netstat -tunlp |grep :8080  ==> tcp6 0 0 :::8080 :::* LISTEN 2259/java

4  输入初始化密码

cat /var/lib/jenkins/secrets/initialAdminPassword
a93553a4865b45198ae28f77877efe19    #登陆界面有提示输入密码,初始密码文件为/var/lib/jenkins/secrets/initialAdminPassword

 

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

三、jenkins的插件以及配置

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

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

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

下载地址: 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的目录介绍:

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用户来进行配置

vim /etc/sysconfig/jenkins

将用户修改为root,可以调用root工具
29 JENKINS_USER="root"
 
修改启动端口85行,$JENKINS_PORT
service jenkins restart

  

系统管理-->系统配置

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

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

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

 

自动化部署 jenkins 插件简介的更多相关文章

  1. jmeter接口自动化部署jenkins教程

    首先,保证本地安装并部署了jenkins,jmeter,xslproc 我搭建的自动化测试框架是jmeter+jenkins+xslproc ---注意:原理是,jmeter自生成的报告jtl文件,通 ...

  2. 自动化部署-Jenkins+SVN+MSBuild

    这篇文章主要介绍下使用Jenkins实现自动化部署 下载 https://jenkins.io/download/ 安装 按步骤安装即可,下载的是windows版本,安装完成后,会看到这样一个正在运行 ...

  3. 项目测试环境自动化部署[jenkins前后端配置、Nginx配置]

    持续部署:关注点在于项目功能部署到服务器后可以正常运行,为下一步测试环节或最终用户正式使用做准备.(问题点:一个环节有问题,其他环节跟着有问题) 持续集成:关注点是在于尽早发现项目整体运行问题,尽早解 ...

  4. 自动化部署--Jenkins

    自动化部署--Jenkins--简介安装(一) https://www.jianshu.com/p/b9ce206139f1 自动化部署--Jenkins--Maven构建(二)  https://w ...

  5. jar包自动化部署---jenkins

    B.Application Server SVN账号:svn://192.168.1.49/svn/keenyoda-trunk/xxxxxcht=xxxxx 安装jenkins:安装目录:/usr/ ...

  6. vue 自动化部署 jenkins 篇

    前端项目打包部署,以前都是手工运行打包命令,打包结束后压缩,然后上传到服务器上解压部署.这种重复性的工作,确实有点让人烦,而且效率也不高. 本文基于 vue 的前端项目. GitHub 的代码仓库,简 ...

  7. 自动化部署-Jenkins+SVN+MSBuild 一些补充

    1.ftp的使用 系统管理->插件管理 安装插件Publish Over FTP 系统管理->系统设置 配置ftp参数 如下图 进入任务配置,添加构建后操作 在使用过程中还遇到一个本地防火 ...

  8. 自动化部署-Jenkins备份回滚

    1.备份 备份可以使用批处理命令解决,实际就是复制当前发布文件 ::备份文件夹名,使用当前时间 set foldername=%date:~0,4%%date:~5,2%%date:~8,2%%tim ...

  9. 自动化部署jenkins

    jenkins下载网站 https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ 一.配置环境 [root@localhost ~]# hostname ...

随机推荐

  1. CDQ 分治解决和点对有关的问题

    具体可以去这篇博客学习: https://oi-wiki.org/misc/cdq-divide/

  2. 回顾了下shell 编程的一些细节

    回顾了一些细节 shell 的通配符扩展   *  ? []  [^xxxx]  {aaa,bbb}         子进程 more `grep -l POSIX *` more $(grep -l ...

  3. dstat命令详解

    dstat 如果系统没有些工具 yum -y install dstat安装下即妥,此软件小巧玲珑,软件包大小只有144k,安装大小660k. 此工具默认情况下会动态显示CPU,disk,net,pa ...

  4. BZOJ5206 [Jsoi2017]原力[根号分治]

    这是一个三元环计数的裸题,只是多了一个颜色的区分和权值的计算罢了. 有一种根号分治的做法(by gxz) 这种复杂度的证明特别显然,思路非常简单,不过带一个log,可以用unordered_map或者 ...

  5. swoole 协程channel乱测

    channel和数组差不多,可以被用作队列,属性capacity是设置容量,isEmpty() isFull() 用来判断队列是空还是满,push()加入队列 pop()弹出队列 interface ...

  6. nginx常用命令和配置

    1.常用命令 查看版本号: ./nginx -v   启动nginx:在/usr/local/nginx/sbin 目录下执行  ./nginx   关闭nginx:在/usr/local/nginx ...

  7. 洛谷P2135 方块消除

    洛谷题目链接 动态规划(真毒瘤!) 变量声明: $val[i]$:表示第$i$块颜色 $num[i]$:表示第$i$块颜色数量 $sum[i]$:表示$num$的前缀和 我们设计状态$f[l][r][ ...

  8. Bzoj 1798: [Ahoi2009]Seq 维护序列seq(线段树区间操作)

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec Memory Limit: 64 MB Description 老师交给小可可一个维护数列的任务,现在小可 ...

  9. luogu4930

    P4930 「FJ2014集训」采药人的路径 题目描述 采药人的药田是一个树状结构,每条路径上都种植着同种药材.采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性的,一种是阳 ...

  10. Python基础面试题整理

    基础 Python中lambda是什么意思 Python中的pass是什么意思 作为解释型语言,Python如何运行 什么是Python的单元测试 在Python中unittest是什么 如何将数字转 ...