1_jenkins环境搭建
前言
- 为什么要使用jenkins
- 可以实现批量部署、管理
- 支持常见的版本控制工具,git, svn等
- 发展成熟,使用范围广,容易找到解决方案
- 插件丰富,可以满足自己的需求
- 什么是jenkins
- 简单的说,Jenkins 是一种基于 Java 开发的持续集成工具,前身称作Hudson,它是一个开源软件项目,提供了用于监控持续重复工作的软件平台。Jenkins 发布和运行的形式都很简单,您可以去 Jenkins 官网下载安装包后,只需一个“java -jar jenkins.war”命令就能将其运行起来。参考自http://www.ibm.com/developerworks/cn/java/j-lo-jenkinsintegrate/
- 持续化集成是什么鬼
第一,快速迭代。
- 由于 Jenkins 集成开发开发过程中,整个流程能实现自动化,每日可以自行生成新的 build,在软件项目被分成多个子项目后,这些子项目可能是一些独立运行的小项目,也可能是互相联系的。由于每个功能可以一点点的加在 build 中,那么这样就能保证每次的新 build 可以交付新的功能,保障测试人员能一直有最新的 build 进行测试,从而使产品的缺陷能够在更早的时间里被发现,开发人员修复起来也更加容易,甚至可以在修复产品的过程中避免后续可能随之产生的问题,确保产品在整个的开发过程中更加积极、有效。同时,通过快速迭代,开发人员可以对产品的用户和市场趋势保持较强敏感度,且产品也在不断的迭代中愈加成熟,可以使用户持续保持最好体验感;
第二,适应变化。
- 由于持续集成开发过程中代码是每日集成生成 build, 产品功能是逐步增加的,这样使得开发人员可以积极应对软件需求的多变性。根据用户的需求可以随时增加新的功能而不会对整个项目产生过多的影响,根据用户的反馈情况及时调整开发方向,降低项目风险,保证市场竞争力。这样,通过用户的评价和反馈来更好的完善、适应市场变化而生产出的产品才是最有生命力的产品,Jenkins 持续集成开发流程,无疑给实验室的开发人员提供了不少的见解与帮助;
第三,建立团队信心和提高开发人员的创新能力。
- 传统的开发流程需要在项目经理的管理下,严格地按照计划进行,长期过程中,这种模式会限制开发成员的创新能力。Jenkins 集成开发可以持续不断的发现问题,测试和验证功能模块的开发程度,增强开发人员对整个开发过程的了解和信心,同时还能快速实现开发人员的创新想法,及时在用户那里得到反馈,并且还可以在迭代的过程中不断优化。这些都可以带给开发人员更多的机会尝试和信心鼓励,对于产品的最终完成起着非常重要的作用。
综上所述,这些优势给整个软件开发团队带来的好处是不可小觑的。那么如何将 Jenkins 自动化持续集成应用到开发流程的实际工作中呢?下面我们通过一个示例来演示具体的操作步骤。
一、工具包准备
这里为了方便都使用了rpm的安装包,安装jenkins仅仅需要java环境的支持,不需要数据库
- jdk:http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm
- jenkins: https://pkg.jenkins.io/redhat-stable/jenkins-2.7.4-1.1.noarch.rpm
二、安装
- jdk
rpm -ivh jdk-8u121-linux-x64.rpm
- jenkins
rpm -ivh jenkins-2.7.4-1.1.noarch.rpm
三、启动服务
/etc/init.d/jenkins start
chkconfig jenkins on
ps -ef | grep -i jenkins
四、在浏览器输入服务器地址
jenkins默认使用8080端口,http://192.168.10.213:8080/, 根据相应的提示就可以完成了jenkins的安装,之后会设置管理员密码,至此整个安装过程就完成了,
jenkins的安装还是挺简单的,不是吗? _
1_jenkins环境搭建的更多相关文章
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
随机推荐
- HDFS 常用Shell命令
HDFS Shell命令 概述 HDFS Shell命令允许使用命令行在HDFS存储中进行文件夹和文件操作. 如文件夹的增删改查.文件的增删改查等. 开始练习hadoop时,打开Linux之后要用 s ...
- 污染Bootstrap modal 通过 css选择器 避免
w 对框架的掌握.改进. 0-存在重复代码,需要改正,js timepicker框架传入类名: 1-大量的点击块,怎样避免对每个块重复写modal? <style> .w > td ...
- 多线程入门-第四章-线程的调度与控制之sleep
/* sleep,阻塞当前线程,腾出CPU,让给其他线程 单位是毫秒 静态方法 */ public class ThreadTest04 { public static void main(Strin ...
- Linux cd命令 pwd命令
1.cd命令 cd:及Change Directory改变目录的意思,用于更改到指定的目录 用法:cd [目录] 其中 "."代表当前目录,".."代表当前目录 ...
- spring MVC中的异常统一处理
1.spring MVC中定义了一个标准的异常处理类SimpleMappingExceptionResolver 该类实现了接口HandlerExceptionResolver 2.看下SimpleM ...
- Spark2.0机器学习系列之3:决策树
概述 分类决策树模型是一种描述对实例进行分类的树形结构. 决策树可以看为一个if-then规则集合,具有“互斥完备”性质 .决策树基本上都是 采用的是贪心(即非回溯)的算法,自顶向下递归分治构造. 生 ...
- 使用python下载一些链接的软件包
import reimport requestsimport osimport wget get = raw_input("please input your link::")pa ...
- isEnable() 和 isDisplayed() 和 isSelected()
isEnable().isDisplayed()和isSelected() 1.以上三个为布尔类型的函数 2.isEnable用于存储input.select等元素的可编辑状态,可以编辑返回true, ...
- mysql数据库从删库到跑路之mysql完整性约束
一 介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY ...
- property函数的使用
描述 property函数的作用是在新式类中返回属性值 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改 s=Student() s.score= ...