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部分: 一. ...
随机推荐
- Android 5.0+删除Sdcard文件
在Android5.0往后的平台上,你想通过单纯的调用File.delete()或着ContentResolver.delete()来删除Sdcard上的文件会删除失败.前者提示没有权限,后者仅仅删除 ...
- Win7环境下 IIS配置
一.介绍IIS Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务.最初是Windows ...
- webpack4学习笔记(二)
webpack打包各种javascript文件 (本文只是提供一个学习记录,大部分内容来自网络) 一,打包js文件和es6代码 1,webpack命令打包js文件 Tip: 在webpack4.x之前 ...
- 【opencv】 solvepnp 和 solvepnpRansac 求解 【空间三维坐标系 到 图像二维坐标系】的 三维旋转R 和 三维平移 T 【opencv2使用solvepnp求解rt不准的问题】
参考: pnp问题 与 solvepnp函数:https://www.jianshu.com/p/b97406d8833c 对图片进行二维仿射变换cv2.warpAffine() or 对图片进行二维 ...
- ObjectDetection中的一些名词中英文对照
mAP:mean Average Precision,平均精确度 recall rate:召回率 Loss Function Anchro
- git查看某一个文件的修改历史
git blame filename:显示整个文件的每一行的详细修改信息:包括SHA串,日期和作者. 其显示格式为: commit ID | 代码提交作者 | 提交时间 | 代码位于文件中的行数 | ...
- setup.py
from distutils.core import setup # 使用说明 # 执行以下命令 # python3 setup.py build # python3 setup.py sdist(这 ...
- 除去DataTable中的空行!
昨天向数据库中导入Excel数据时 由于空行 总是报错!下面附上两种去除空行的方法! 方法一.某行某列值为空时 DataView dv = dt.DefaultView; ...
- 不再依赖A*,利用C++编写全新寻路算法
一,说在前面的话 大概在半年前,看见一到信息竞赛题:在任意方格阵中设置障碍物,确定起始点后,求这两点之间路径.当时觉得蛮有意思的,但是没有时间去做,今天花了两个小时来实现它.据说有一个更高级的寻路算法 ...
- python学习笔记(十)完善数据库操作
1.cur = coon.cursor(cursor=pymysql.cursors.DictCursor)的用法 建立游标,指定cursor类型返回的是字典,如果不指定类型,返回的是元组类型数据 i ...