Jenkins-构建程序的持续集成平台(安装篇)

一、什么是持续集成

1、什么是集成

指的是代码由编译、发布和测试、直到上线的一个过程

2、什么持续集成

高效的、持续性质的不断迭代代码的集成工作

3、如何高效准确的实现持续集成

必不可少的需要一套能自动化、并且可视化的平台来帮助我们。

那么总结来看,Jenkins就是一个可以帮助我们实现持续集成的平台。

二、为什么Jenkins能帮助我们进行持续集成

理由有如下几点:

1、Jenkins是一个开源的、且基于JAVA代码开发的持续集成系统, 
因为含有非常丰富的插件支持所以我们可以方便的打通版本库、测试构建环境、线上环境的所有环节。并且丰富友好的通知使用者和开发、管理人员。

2、安装维护简单

安装Jenkins,不太复杂。且支持通用的平台。

3、Java 应用 常用

在企业的软件构建过程中,JAVA的应用工程稍显复杂,由于复杂构建、和代码上线、并且服务的重启。整个过程下来,消耗的时间较多,Jenkins却能很好的集成maven的编译方式,且利用自动化的插件、和自定义开发脚本的支持。所以目前广泛的应用于JAVA工程的持续集成平台。

好了,那么接下来我就来介绍,如何搭建一套快速有效的Jenkins持续集成平台。

三、Jenkins持续集成平台安装

1、前期准备

svn:一个开放源代码的版本控制系统

Centos6.4:一个较接近的版本linux系统

java:预先准备好一套JDK环境

2、安装

安装体系

jenkins+svn+maven+shell(用于发布)

#安装Jenkins #

Jenkins的安装可以通过tomcat作为容器安装,由于Jenkins包就自带了servlet,所以我们只需要下载安装就可以直接启动。

1、下载war包:

官方地址下载:http://mirrors.jenkins-ci.org/war-stable/ 

2、启动Jenkins

java -jar ./jenkins.war –httpPort=8080

3、测试

确认终端启动的输出日志正常,并用浏览器访问测试环境的服务,地址为:http://IP+8080

四、Jenkins安装界面配置

1、解锁服务

第一次,登录,需要进行一个解锁 ,页面也会有提示,

/root/.jenkins/secrets/initialAdminPassword,我们可以通过这个文件中查看密码,并输入。

2、进入安装界面

3、进入 Getting Started 界面 

最好能确保推荐安装的插件都有安装成功。

4、新建admin用户

会提示我们需要新建一个用户,这个我们自己新建,记得记录好新建的用户口令就行。

确认完成后,就正式进入到了Jenkins的页面。

Welcome to Jenkins!

补充:

Jenkins的配置,和插件的安装都会放入~/.jenkins中,所以如果需要重新初始化安装,只需要清理掉~/.jenkins的文件即可。

五、插件安装

1、安装插件方式选择

如果在安装时,没有安装好对应的插件可以选择如下方式进行插件的安装:

方法一.如果服务器可以上网,那边选择在线安装最好不过了,安装流程为: 
系统管理(Configure System)—-插件管理(Manage Jenkins)—选择需要的插件直接安装即可

方法二.如果服务器不能上网,那么就只能离线安装,首先去

http://updates.jenkins-ci.org/download/plugins/

下载需要的plugin,选择匹配的版本号,下载到本地,然后打开:系统管理()—插件管理—高级—找到”上传插件”(浏览,找到扩展名为.hpi的插件,上传之后默认直接就安装了。重启jenkins,安装的插件就可以使用了。

2、安装插件依赖解决

插件安装不上去,一定是某个地方出现问题。在Jenkins的终端日志中,可以查看到对应的错误。需要针对性的解决。

比如:在安装subversion的时候,的错误提示。 
一般的情况安装对应的插件,会把需要依赖的插件安装上。如出现对应的依赖问题,就需要一一安装上对应的依赖包。如下错误中,我们就需要先安装好这两个依赖包。 
mapdb-api (1.0.1.0), workflow-scm-step (1.4.3)

Failure - 
java.io.IOException: Failed to dynamically deploy this plugin 
at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1867) 
at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1624) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: java.io.IOException: Failed to install subversion plugin 
at hudson.PluginManager.dynamicLoad(PluginManager.java:834) 
at hudson.PluginManager.dynamicLoad(PluginManager.java:775) 
at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1863) 
… 5 more 
Caused by: jenkins.MissingDependencyException: One or more dependencies could not be resolved for subversion : mapdb-api (1.0.1.0), workflow-scm-step (1.4.3) 
at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:529) 
at hudson.PluginManager.dynamicLoad(PluginManager.java:824) 
… 7 more

3、查看已经安装的插件

为了更好的方便我们学习下节课内容,请同学们通过插件管理(Manage Jenkins)—已安装插件(Installed),确保安装好了如下的插件:

Subversion Plug-in Jenkins对SVN的支持。

Maven Integration plugin 用于对java代码的构建

Email Extension Plugin 邮件模块

Ant Plugin 也是对java代码构建,不过是通过ant来作。

还有一些是安装jenkins的时候推荐安装的,大家也最好安装上。

时间: 2024-10-27 18:43:39

Jenkins-构建程序的持续集成平台(安装篇)的相关文章

使用阿里云容器服务Jenkins 2.0实现持续集成之Pipeline篇(updated on 2016.12.23)

Jenkins 2.0 Jenkins 2.0新特性:Pipeline as code,全新的开箱体验和UI可用性提升以及完全向后兼容. Pipeline as Code通过使用Groovy DSL来描述一套运行于Jenkins上的工作流程,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程.并且,Jenkins支持从代码库直接读取脚本. 全新的开箱体验和UI可用性提升Jenkins 1.XXX 安装默认是开放所有权限,因为安全性存在隐患.而Jenkins 2.0

Jenkins+Ant+Jmeter搭建持续集成的接口测试平台

一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等. 接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性.接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大. 接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台

构建iOS持续集成平台(二)测试框架

测试框架 有了自动化构建和依赖管理之后,开发者可以很轻松的在命令行构建整个项目,但 是,作为持续集成平台来说,最重要的还是测试,持续集成最大的好处在于能够尽早发现问题,降低解 决问题的成本.而发现问题的手段主要就是测试.在Martin Fowler的Test Pyramid[10]一文中论述了 测试金子塔的概念,测试金字塔的概念来自Mike Cohn,在他的书Succeeding With Agile中有详细描述 :测试金字塔最底层是单元测试,然后是业务逻辑测试,如果更细化一点的话,可以分为把完

构建iOS持续集成平台(一)自动化构建和依赖管理

2000年Matin Fowler发表文章Continuous Integration[1]:2007年,Paul Duvall, Steve Matyas 和 Andrew Glover合著的<Continuous Integration:Improving Software Quality and Reducing Risk> [2]出版发行,该书获得了2008年的图灵大奖.持续集成理念经过10多年的发展,已经成为了 业界的标准.在Java, Ruby的世界已经诞生了非常成熟的持续集成工具

Jenkins与Docker的持续集成实践

本文讲的是Jenkins与Docker的持续集成实践[编者的话]持续集成(CI/CD)是一种软件开发实践.用于帮助团队成员频繁.快速的集成,测试他们的工作成果,以尽快发现集成错误. 更频繁.更早的集成意味着更早的发现问题.通过持续集成,及时发现和解决代码故障,提高代码质量,减少故障处理成本等等. [3 天烧脑式基于Docker的CI/CD实战训练营 | 北京站]本次培训围绕基于Docker的CI/CD实战展开,具体内容包括:持续集成与持续交付(CI/CD)概览:持续集成系统介绍:客户端与服务端的

使用阿里云容器服务Jenkins实现持续集成之GitLab篇

前面有篇文章<使用阿里云容器服务Jenkins实现持续集成和Docker镜像构建>详细地描述了如何通过阿里云容器服务平台,快速创建Jenkins应用,结合GitHub实现持续集成和镜像构建.这次将使用阿里云容器服务搭建GitLab作为代码管理仓库,最后使用Jenkins插件aliyun-container-service-deploy实现部署应用,并支持蓝绿发布和标准发布两种发布策略. 1.部署Jenkins和Slave 1.1使用编排模板一键部署 阿里云容器服务的示例模板中已经内置支持了Je

使用阿里云容器服务Jenkins 2.0实现持续集成之the tag you want篇(updated on 2017.09.06)

最近收到很多有关于持续集成场景中image tag的反馈,例如,每次image build的时候希望"Jenkins"能够给image标上不一样的tag,部署应用到阿里云容器服务希望Aliyun-Container-Service-Deploy插件能够实现不是每次以固定的tag发布.本文在原来的持续集成场景中增加这样的两种能力:根据git SHA和构建时间来给image打tag,支持环境变量和compose模板配合部署应用. 为了简洁起见,本文将上述两种能力在一个持续集成场景中进行运用

构建iOS持续集成平台(三)CI服务器与自动化部署

CI服务器 写到这儿,对于iOS开发者来说,需要准备好: 一个比较容易获取的源代码仓库(包含源代码) 一套自动化构建脚本 一系列围绕构建的可执行测试 接下来就需要一个CI服务器来根据源代码的变更触发构建,监控测试结果.目前,业界比较流行的,支持iOS构建的CI服务器有Travis CI和Jenkins Travis CI Travis CI[20]是一个免费的云服务平台,主要功能就是为开源社区提供免费的CI服务,对于商业用户可以使用Travis Pro版本,其基本上支持所有目前主流的语言,Obj

基于 Jenkins 快速搭建持续集成环境

持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础.Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能.本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境. 持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变