jenkins介绍及其简单操作
一、jenkins简介
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
3.jenkins就是基于Java开发的一种持续集成的工具
4. 可以将运维用到的各个脚本整合起来,并且可以通过页面方式集中管理,而且也可以实现和gitlab、github交互,也可以实现自动编译、部署程序
二、持续集成
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
持续集成
持续集成:Continuous Intergration (CI)
持续交付:Continuous Delivery(CD)
持续部署:Continuous Deployment(CD)
集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。
持续集成流程
1. 提交(git)
2. 测试
3. 构建(jenkins)
4. 测试
5. 部署(ansible,shell,puppet)
6. 回滚(ansible)
三、jenkins的安装
http://pkg.jenkins.io/ 下载jenkins地址
①上传安装包
[root@localhost ~]# rz [root@localhost ~]# ls
jenkins-2.178-1.1.noarch.rpm
②yum安装
[root@localhost ~]# yum install jenkins-2.178-1.1.noarch.rpm -y
③安装Java(注意版本问题)jenkins是基于Java开发的
[root@localhost ~]# yum install java -y
④重启jenkins
[root@localhost ~]# systemctl restart jenkins
⑤浏览器访问(jenkins端口是8080)
ip:8080
四、安装插件
http://updates.jenkins-ci.org/ 插件地址
①上传插件包
[root@localhost ~]# rz [root@localhost ~]# ls
plugins-2.138..tar.gz
②查看日志
[root@localhost ~]# rpm -ql jenkins
/var/lib/jenkins
[root@localhost ~]# cd /var/lib/jenkins
③切换至plugins目录下,并移动插件包至当前目录下
[root@localhost jenkins]# cd plugins/
[root@localhost plugins]# mv /root/plugins-2.138..tar.gz .
[root@localhost plugins]# ls
plugins-2.138..tar.gz
④解压并复制到当前目录下
[root@localhost plugins]# tar xf plugins-2.138..tar.gz
[root@localhost plugins]# ls
plugins plugins-2.138..tar.gz
[root@localhost plugins]# cp plugins/* . -a
⑤重启jenkins,在web端查看已安装的插件
[root@localhost plugins]# systemctl restart jenkins
五、创建凭证
http://xin.kendd.cn/?p=263
下一篇文章具体介绍
jenkins介绍及其简单操作的更多相关文章
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
- HDFS介绍及简单操作
目录 1.HDFS是什么? 2.HDFS设计基础与目标 3.HDFS体系结构 3.1 NameNode(NN)3.2 DataNode(DN)3.3 SecondaryNameNode(SNN)3.4 ...
- Flume的介绍和简单操作
Flume是什么 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数 ...
- 金融量化分析【day110】:IPython介绍及简单操作
一. IPython介绍 ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能 ...
- SecureCRT的安装、介绍、简单操作
网上看到一篇名为<SecureCRT的使用方法和技巧(详细使用教程)>的secureCRT教程,可能软件版本与我不一样我安装的是8.1. 原文来源:http://www.jb51.net/ ...
- Git和Github的介绍、简单操作、冲突(上)
目的: 1.git与github简介 2.Git与SVN区别 3.Github 的简单使用 4.下载安装Git-20-64-bit.exe 5.Git常用命令 5.1Git命令使用场景 5. ...
- jenkins 简介和简单操作
持续集成:Continuous Intergration (CI) 持续交付:Continuous Delivery(CD) 持续部署:Continuous Deployment(CD) jenkin ...
- 【转载】salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL)
salesforce 零基础开发入门学习(三)sObject简单介绍以及简单DML操作(SOQL) salesforce中对于数据库操作和JAVA等语言对于数据库操作是有一定区别的.salesfo ...
- 有手就行——Jenkins介绍 及 Gitlab代码托管服务器安装
Jenkins 介绍 及 Gitlab代码托管服务器安装 Gitlab安装 源码上传到Gitlab仓库 Jenkins介绍 Jenkins 是一款流行的开源持续集成(Continuous Integr ...
随机推荐
- 4.NIO_Channel 通道
1.通道(Channel) 由 java.nio.channels 包定义的.Channel 表示 IO 源与目标打开的连接.Channel 类似于传统的“流”.只不过 Channel 本身不能直接访 ...
- Git使用教程学习
Git使用教程学习 在第十二周的个人作业上,王文娟老师希望我们去自己课后了解一下git的使用方式以及一些基础知识,在本学期其他的课程上,我们已经稍微了解过一些git的基础知识,因此在本次作业里,我补充 ...
- 第六章 组件 61 动画-小球动画flag标识符的作用分析
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- c# 获取api 数据
private string GetDataFromServerApi(string url, string body) { string str = ""; try { Http ...
- Atcoder CODE FESTIVAL 2016 Final G - Zigzag MST[最小生成树]
题意:$n$个点,$q$次建边,每次建边选定$x,y$,权值$c$,然后接着$(y,x+1,c+1),(x+1,y+1,c+2),(y+1,x+2,c+3),(x+2,y+2,c+4)\dots$(画 ...
- ngnix之笔记
############################################################################# 我们在使用的时候会遇到很多的恶意IP攻击,这 ...
- 修改mysql5.7数据表字符集编码的命令
查看表中字符集的命令 show variables like '%char%' 更改数据库中数据表的字符集靠谱命令,亲测可行,在workbench和phpmyadmin上都通过 alter table ...
- for update的作用和用法
一.for update定义 for update是一种行级锁,又叫排它锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它 ...
- React之this.refs, 实现数据双向绑定
1.实现数据双向绑定 将input组件与this.state属性绑定,要么是readonly, 要么使用onChange事件: 获取input元素的value值,有两种方式: 1) e.target. ...
- maven报错1
错误1 错误2 缺少mapper文件 错误3 缺少映射文件 <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉. --> <build> <re ...