JENKINS基础使用
JENKINS总结
修改时间 |
修改内容 |
修改人 |
2016.3.12 |
创建 |
刘永志 |
2016.5.22 |
添加tomcat+jenkins |
刘永志 |
2016.6.14 |
添加tomcat找不到ant解决方案 |
刘永志 |
个人理解持续集成:为解决程序代码提交质量低,提交内容导致原有系统的BUG,按时或按需自动编译版本,进行自动化测试。
百度对持续集成的定义:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
为什么写这篇文章:笔者在学习jenkins的过程中遇到了很多坑,且学习过程中好多搜到的资料过于零散,导致学习进度缓慢,想通过这篇文章,能让大家在学习的过程中少走弯路。虽然我预计这篇文章是做不到的,但是能够帮助到几位也是好的,以此为望,大家共勉。
一、Jenkins安装
系统&安装方式 |
直接使用WAR文 |
安装包安装 |
将WAR文件放到WEB容器 |
Windows系统 |
难度:低 |
难度:中 |
难度:高 |
Linux系统 |
难度:低 |
难度:中 |
难度:高 |
Mac系统 |
难度:低 |
难度:中 |
难度:高 |
笔者推荐直接使用WAR文件,越简单的东西越适合初学者。且笔者在使用安装包安装中,出现过一次无法获取插件列表的情况。
Windows下安装:
系统版本 |
JDK版本 |
Jenkins版本 |
Windows10 |
JDK8 |
Jenkins1.651 |
- 安装JDK:(windows下jdk的安装及环境变量配置百度一下)
- 下载安装最新版本Jenkins:
登陆 http://jenkins-ci.org/ 下载windows版本
下载的压缩包内含一个.msi程序,直接安装 - 访问Jenkins:直接访问Jenkins http://本机IP:8080 (8080为jenkins默认端口号)
Linux Ubuntu下安装:
系统版本 |
JDK版本 |
Jenkins版本 |
Ubuntu 14.04LTS 桌面版 |
Openjdk-7-jdk |
Jenkins1.651 |
Ubuntu安装包安装:
- 安装open-JDK:
sudo apt-get install openjdk-7-jdk
- 安装Jenkins:
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update -y
sudo apt-get install jenkins -y - 安装位置:
安装目录:/var/lib/jenkins
日志目录:/var/log/jenkins/jenkins.log - 启动停止服务:
sudo /etc/init.d/jenkins start
sudo /etc/init.d/jenkins stop - 访问jenkins:
http://本机IP:8080/
直接使用WAR文件:
- 安装open-JDK(同上文)
- 下载war文件
- 将对应war文件传入linux服务器(以下简单介绍几种传入方式,仅仅提供思路以做百度谷歌之用)
- 架设FTP服务器
- Winscp工具传入
- 虚拟机可用虚拟机增强工具拖入或启动共享文件夹
- U盘等硬件接入
- 使用war文件开启服务
Java -jar /home/jenkins.war(wan文件路径) --Port=8080(端口)
- 访问jenkins
http://本机IP:8080/
- 将服务加入开机启动
cd /etc/init.d //切换目录
vi jenkins.sh //编写shell脚本
插入java -jar /home/jenkins.war(wan文件路径) --Port=8080(端口)& //后台运行
chmod 755 jenkins.sh //修改shell脚本权限
update-rc.d test defaults 95(启动顺序编号) //加入启动项
update-rc.d -f jenkins.sh remove //删除启动项(需在/etc/init.d目录下执行) - Jenkins的安装目录:
/root/.jenkins/
- 访问jenkins:
http://本机IP:8080/jenkins/
TomCat+Jenkins:
- 下载安装jdk(同上文)
- 下载WAR文件(同上文)
- 下载安装tomcat
- 下载tomcat
- 将tomcat安装包传入服务器
- 解压安装包
tar -cvzf apache-tomcat-8.0.12.tar.gz
- 复制解压文件到你想要的安装路径
cp -r apache-tomcat-8.0.12 /目标路径
- 进入安装路径,以/opt/tomcat/为例
cd /opt/tomcat/
- 编辑tomcat启动脚本,加入环境变量
vim ./bin/startup.sh
加入一下内容,路径改为你自己的环境变量路径
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
JRE_HOME=${JAVA_HOME}/jre
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/opt/apache-tomcat-8.0.17
ps:需要放在exec "$PRGDIR"/"$EXECUTABLE" start "$@"这一行上边
- 编辑catalina.sh文件,加入环境变量,否则jenkins会报找不到Ant错误
#See the license for the……
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
Export JENKINS_HOME="/root/.jenkins"
- 将WAR文件放入tomcat安装路径/webapps/目录下
- 启动&关闭tomcat
./bin/startup.sh
./bin/shutdown.sh
- Jenkins的安装目录:
/root/.jenkins/
二、Jenkins配置及插件安装使用简介
HTML Publisher Plugin 插件在新的Jenkins版本中会导致打开的网页中无法加载CSS以及无法点击按钮的情况,由于CSP导致,可在Jenkins控制台中执行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")以解决此问题。其他由于CSP原因导致的html插件也可用此方法解决。
插件安装:
|
在线安装:
- 进入系统管理
- 进入插件管理
- 切换可选插件分页
- 选择插件,直接安装
- 若遇到可选插件为空的情况
- 切换到高级界面
- 点击立即获取按钮
- 若报错,建议直接重新安装jenkins(查了一天解决办法,放弃了,直接重装好了)
- 切换到高级界面
离线安装:
- 进入插件管理,高级分页
- 上传插件
- 上传成功后会自动安装
- 若安装失败请去对应插件页面检查是否安装对应依赖
账户安全配置:
PS:
如果用户权限配置错误导致无法修改,修改服务器jenkins安装目录下config.xml文件,重启jenkins服务即可。
- 进入系统管理—Configure Global Security
- 选择Jenkins专用用户数据库,允许用户注册,保存
- 注册用户
- 再次进入Configure Global Security
- 启动安全矩阵,添加用户,添加权限,保存
三、Jenkins的环境变量说明
- 环境变量列表:
-
BUILD_NUMBER,唯一标识一次build,例如23;
- BUILD_ID,基本上等同于BUILD_NUMBER,但是是字符串,例如2011-11-15_16-06-21;当前只有ID
- JOB_NAME, job的名字,例如JavaoWorld;
- BUILD_TAG,作用同BUILD_ID,BUILD_NUMBER,用来全局地唯一标识一此build,例如jenkins-JavaHelloWorld-23;
- EXECUTOR_NUMBER, 例如0;
- NODE_NAME,slave的名字,例如MyServer01;
- NODE_LABELS,slave的label,标识slave的用处,例如JavaHelloWorldMyServer01;
- JAVA_HOME, java的home目录,例如C:\Program Files (x86)\Java\jdk1.7.0_01;
- WORKSPACE,job的当前工作目录,例如c:\jenkins\workspace\JavaHelloWorld;
- HUDSON_URL = JENKINS_URL, jenkins的url,例如http://localhost:8000/;
- BUILD_URL,build的url 例如http://localhost:8000/job/JavaHelloWorld/23/;
- JOB_URL, job的url,例如http://localhost:8000/job/JavaHelloWorld/;
- SVN_REVISION,svn 的revison, 例如4; - 需要特殊注意的是系统管理,系统设置,高级中3个变量的引用(尤其注意重装jenkins后一定要检查是否与之前Jenkins的一致,哪怕是同一个版本甚至于同一个WAR文件)
四、Jenkins使用
- 创建项目,输入项目名称,选择项目类型
- 根据项目情况输入项目信息
- 构建
- 查看构建结果(蓝点为成功,红点为失败,Console Output选项为查看构建的log)
五、构建
- 构建触发器
- 触发远程构建(脚本构建)
- Build after other projects are built(在其他构建完成后构建本项目)
- Build periodically(定期构建)
- Poll SCM(检查代码库)
- 构建脚本
- Execute Windows batch command:添加Dos脚本构建步骤
- Execute shell:添加shell构建步骤
- Invoke Ant:添加Ant构建步骤
- Invoke top—level Maven targets:添加Marven构建步骤
- 构建后操作
- E-mail Notification 增加发送邮件配置
- Publish Html report (HTML Publisher plugin插件),增加查看Html结果配置(绝对路径,相对路径以workspace开始)
六、Jenkins在跨平台使用注意事项
- 路径:
Jenkins路径格式:
Windows服务器下也支持"/""\"并存模式,推荐使用"/",方便跨平台使用。
PS:看资料是可以,未尝试
JENKINS基础使用的更多相关文章
- Jenkins 基础入门
原文地址:Jenkins 基础入门 博客地址:http://www.extlight.com 一.前言 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作, ...
- Jenkins 基础篇 - 插件安装
这一小节主要介绍 Jenkins 插件的安装,登录到 Jenkins 后,依次进入到[系统管理]→ [插件管理]→ [可选插件],在这里可以看到所有的 Jenkins 插件,如下图: 我们在最开始安装 ...
- Jenkins: 基础篇(环境配置)
自动化领域比较有影响力的开源框架jenkins,确实比较强大,易用.很多公司将其用来做持续即成CI(continuous integration).为了拓展和强化自己的软件设计生态系统,也将很久前使用 ...
- Jenkins 基础篇 - 小试牛刀
现在我们来创建一个简单的 Jenkins 任务,这个任务输出 Java 版本信息和系统信息,通过这个任务我们先了解创建 Jenkins 任务的流程,以及了解一些对任务的基础设置,接下来就是演示任务的整 ...
- Jenkins 基础篇 - 任务创建
前面了解了 Jenkins 上各种任务的区别后,我们就来实践应用下,先创建一个[文件夹]类型的任务,将我们目前的一些基础的演示任务[移动]到文件夹里面去,这样可以先做个简单的分类. 新建一个[文件夹] ...
- Jenkins基础 - 常用配置操作
1.修改jenkins的根目录,默认地在C:\Users\用户名\.jenkins下(win7) 或C:\Documents and Settings\用户名\.jenkins(xp) 修改步骤: 增 ...
- jenkins基础知识
修改默认端口号启动: java -jar jenkins.war --ajp13Port=-1 --httpPort=8089 一些基本的命令: http://[jenkins-server]/[co ...
- [ jenkins ] 基础安装及权限管理
1. 安装 jenkins 在安装 jenkins 之前需要 java 的支持 (1)安装 jdk1.8 [root@192.168.118.17 ~]#tar xf jdk-8u77-linux-x ...
- Jenkins 基础篇 - 环境准备
前期准备 为了开发这套课程,我专门购买了一台二手戴尔服务器 Dell R720,同时把废弃多年的笔记本电脑也利用了起来.当然如果自己没有多余的电脑,也可以在自己电脑上安装 Vmware Worksta ...
随机推荐
- Visual Studio 在调试时启用编辑功能
Visual Studio边调试边修改 如果你在调试一个web应用程序的时候,想进行编辑,可以有如下两种方法: 方法一:在web项目的属性页里的web标签页,选中"启用编辑并继续&qu ...
- U-boot的目录结构及spl功能
转 http://tieba.baidu.com/p/2836672721 对uboot-2010.06及其以后的版本,将体系结构相关的内容合并,增加include文件夹,分离出通用库文件lib,其各 ...
- git push error: A Contributor Agreement must be completed before uploading
因为是从官方版本库做的镜像,所以有些权限直接从官方同步到了本地. 今天,有同事执行git push操作,报错: 根据网上搜索的内容,在gerrit.config中[auth]中添加如下内容: [aut ...
- The project: project which is referenced by the classpath, does not exist.
有个java工程运行时报The project: project which is referenced by the classpath, does not exist.错误 上网查解决方案,说是将 ...
- Ext 三级联动 及附值
/// <reference path="../../ext.js" />Ext.define('Myview.Region', { extend: 'Ext.form ...
- delphi 调用百度地图api
一.调用javascript的方法 两种: 第一种:采用自编函数的方法 function ExecuteJavaScript(WebBrowser:TWebBrowser; Code: string) ...
- 一次完整的HTTP请求流程
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1. 建立TCP连接: 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接, ...
- php-建造者模式(Builder)解析
其与抽象模式相类似,都可以创建复杂的对象,但是抽象工厂更注重多个系列的产品对象,而Builder模式则着重于一步一步的构建一个复杂的对象,在最后一步才返回产品, 使用建造者模式的好处是: 1.将构造代 ...
- HDP 2.3 Notes
Hortonworks Data Platform 2.3.4.0-3485 [bug] /usr/hdp/2.3.4.0-3485/zookeeper/bin/zkEnv.sh 26 if [ -z ...
- 剑指Offer:面试题32——从1到n整数中1出现的次数(java实现)
问题描述: 输入一个整数n,求1到n这n个整数的十进制表示中1出现的次数.例如输入12,从1到12这些整数中包含1的数字有1,10,11,12,1一共出现了5次. 思路:(不考虑时间效率的解法,肯定不 ...