1.jenkins持续集成-jenkins安装
1.为什们要使用jenkins
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目;
2、监控外部调用执行的工作。
2.安装jenkins前的准备工作
| 项目 | 描述 |
|---|---|
| 系统环境 | centos6.8 |
| 内存 | 4G |
| JDK | jdk1.7+ |
| 容器 | tomcat7 |
| 版本 | jenkins-1.651.3 |
下载地址:http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war-stable/1.651.3/jenkins.war
3.安装与运行
1.Jenkins本身由JAVA语言开发的web应用程序,通过war包发布,所以最便捷的方式就是通过war进行安装(严格来说不算安装,说部署更合适)。
2.当然Jenkins也提供了针对不同平台的安装包,如windows的安装文件、ubuntu的安装包等等,但不建议使用定制的安装程序进行安装,最直接的理由就是学习成本比较高和可控性不好,所以本文将介绍如何使用war包安装、运行。
3.使用war包安装
Jenkins可以直接使用java -jar jenkins.war来运行,需要配置java黄精变量 命令要在jenkins.war所在路径下执行,否则要加上jenkins.war所在目录的相对或绝对路径。
注意:前文提到Jenkins的运行需要依赖jdk和web容器,这里怎么又说可以直接运行呢?这是个好问题,产生这种神奇现象的奥秘在于Jenkins内置了Jetty容器.
4.使用Tomcat安装
首先从Tomcat官方网站或其他渠道下载Tomcat,本文用的版本是7.0.63绿色版,下载地址为:apache-tomcat-7.0.63。
解压Tomcat安装包,配置环境变量,启动tomcat就可以了。
4.配置
列出的配置为“系统管理(Manage Jenkins)>系统设置(Configure System)”中的内容,与特定的插件相关内容将在插件使用中说明。
1.主目录(Home directory)
Jenkins存放数据的目录,如:Jenkins自身的配置文件、默认的工作空间(之所以说是默认工作空间是因为Job的工作空间在Job设置中可以特别指定,与默认工作空间可以不同)。默认主目录为${user_home}/.jenkins,在Jenkins启动前可以通过设置修改,设置途径如下:
设置系统环境变量JENKINS_HOME,如:JENKINS_HOME=/root/.jenkins,
在WEB容器启动前设置应用级的环境变量JENKINS_HOME
这种方式是我在实际使用中推荐的一种方式,在同一台机器上部署多个需要不同配 置的应用时很灵活,通常我会为每个应用提供一个env.sh文件,可能的内容如下:
JAVA_HOME=/usr/java/jdk1.6.0_14/
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
##Jenkins
JENKINS_HOME=/root/.jenkins
export JENKINS_HOME
## for linux
LANG=zh.UTF-8
export LANG
Resin
编写resin的启动脚本,脚本比较简单主要作用理设置环境变量,调用resin提供的启动命令启动resin,内容如下:
#!/bin/sh
##应用所在目录
cd /data/xxx_adcenter
. ./env.sh
sh $RESIN_HOME/bin/resin.sh $1
Tomcat
修改jenkins.war中的web.xml文件,设置HUDSON_HOME,内容如下:
<env-entry>
<env-entry-name>HUDSON_HOME</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>/data/jenkins</env-entry-value>
</env-entry>
2.工作空间根目录(Workspace Root Directory)
Job的工作空间,可使用的环境变量有:
JENKINS_HOME、ITEM_ROOTDIR、ITEM_FULLNAME。
默认值在不同版本的Jenkins中可能不同,如:
Jenkins-1.585中为${JENKINS_HOME}/workspace/${ITEM_FULLNAME}
Jenkins-1.653中为${ITEM_ROOTDIR}/workspace
ITEM_ROOTDIR:代表${JENKINS_HOME}/jobs/${ITEM_FULLNAME}/ ITEM_FULLNAME:job名字
3.构建记录根目录(Build Record Root Directory)
可使用的变量如“工作空间根目录”,默认值为${ITEM_ROOTDIR}/builds。
4.用法(Usage)
控制如何在节点上安装构建,从节点(slave)上也有这个设置,包含两个选项:
尽可能的使用这个节点(Utilize this node as much as possible):
这是默认设置,在这种模式下,当有一个可以在这个节点上运行的构建时,Jenkins将使用这个节点进行构建。在实际使用中建议将主节点(master)设置为这种模式,从节点设置为“只允许运行绑定到这个节点的JOB运行”,这样可以避免从节点出现故障时导致的Job无法运行的情况发生。
只允许运行绑定到这个节点的JOB(Only build jobs with label restrictions matching this node):
在这个模式下,Jenkins只运行指定在此节点运行的Job。在Job设置的“Restrict where this project can be run”中指定可运行Job的节点,关于如何指定节点的高级特性在Job设置中介绍。
1.jenkins持续集成-jenkins安装的更多相关文章
- Jenkins持续集成_01_Mac安装配置
前言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.在自动化测试中,用来持续集成,跑定时任务进行定时自动化监测.更详细介绍可查看jenkins官网: ...
- centos下搭建Jenkins持续集成环境(安装jenkins)
1.安装JDK yum install -y java 2.安装jenkins 添加Jenkins库到yum库,Jenkins将从这里下载安装. 1 wget -O /etc/yum.repos.d/ ...
- Jenkins持续集成企业实战系列之Jenkins持续集成简介及安装-----02
1. Jenkins持续集成简介 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求, ...
- [Jenkins]持续集成环境下fingbug插件的安装使用与配置
参考:https://wiki.jenkins.io/display/JENKINS/FindBugs+Plugin 突然,天降杂事.我是想安安静静的做个美丽的测试...但是事与愿违,项目经理叫我帮忙 ...
- Jenkins持续集成(上)-Windows下安装Jenkins
环境:Windows 2008 R2.Jenkins2.235.1: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成SLB.配置管理.Jenkins)> ...
- python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?
python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windo ...
- jenkins持续集成源码管理选项为None,构建失败找不到git.exe解决办法
我的jenkins版本为Jenkins ver. 2.19.1 1.源码管理选项只有None的解决办法: 在插件管理中心,搜索对应的源码管理插件这里以git为例,搜索git plugin点击右下角的安 ...
- 【转】jenkins持续集成配置
搭建jenkins持续集成服务器 1.jenkins简介 Jenkins,前身为Hudson,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,包括: 持续的软件版本发布/测试项目. 监控 ...
- Jenkins持续集成
Jenkins持续集成 & .NET 最近受累于测试环境每次发布都很麻烦,而且我们有多个测试环境,因此专门抽时间做了Jenkins的配置和研究. 折腾了两天终于绿灯以后,先来个截图,Blu ...
随机推荐
- 低版本的xcode打开xcode8上的xib错误
XIB和Storeboard适配 在Xcode8之前,创建一个XIB或SB文件,都是一个600*600的方块XIB文件.在Xcode8之后,创建的XIB文件默认是6s尺寸的大小. 但是Xcode8打开 ...
- es6 Class的继承extends & super
Class之间可以通过extends关键字,实现继承. 子类会继承父类的属性和方法. class Point { constructor(x, y) { this.x = x; this.y = y; ...
- android开发--Application
Android Application介绍 一.先看看文档里怎么说 Base class for those who need to maintain global application state ...
- Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- switch能使用的数据类型有6种
byte.short.char.int.String.枚举
- 4、Python:strip(),split()
1.strip()函数 strip()是删除'()'里面的字符,当()为空时,默认删除空白符(包括'\n','\r','\t','') (1)s.strip(rm) 删除s字符串中开头. ...
- asp.net core获取HttpContext相关操作
建立类: using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;us ...
- shell 脚本杀死后台由php脚本控制运行的所有php脚本和java程序
效果: 运行命令: ./killallphpjavarm.sh java 源码: #!/bin/sh#根据进程名杀死进程#FileName: killjavaphprm.sh pgrep php ki ...
- 如何将Console application的Program函数变成支持async的?
如何将Console application的Program函数变成支持async的? class Program { static void Main(string[] args) { Task ...
- 10.openssl x509
主要用于输出证书信息.也能够用于签名.自签名.转换证书格式.还原证书为证书请求等.该命令非常强大,几乎实现了伪命令req,ca,verify,crl的所有功能,最牛的一点是该命令不需要通过配置文件就能 ...