Jenkins的安装和配置

  • 2016-09-11
  • 浏览 (183)

Jenins是现在非常流行的持续集成CI服务器,这与它的前身Hudson也有着很大的关系,Jenkins易于安装,不需要数据库的支持,直接通过Web界面进行配置,而且集成了RSS/Email的通知机制,支持分布式构建,具有丰富的插件,这些都是Jenkins相比其他持续集成服务器的优势所在。官网是这样介绍它的:

Jenkins is an automation engine with an unparalleled plugin ecosystem to support all of your favorite tools in your delivery pipelines, whether your goal is continuous integration, automated testing, or continuous delivery.


一.Jenkins安装
    进入Jenkins官方网站下载最新的Jenkins,Jenkins提供war包的下载和各种操作系统的安装文件,选择war包即可。
Jenkins的启动方法有两种:
第一种是使用tomcat直接打开,就是把jenkins.war放入tomcat下的    webapps目录下,当启动jenkins时,就会自动在webapps下建立jenkins目录。然后再浏览器的地址栏输入http://localhost:8080/jenkins
另一种方法要确保系统中安装了jdk,并且配置了环境变量,检测方法就是在命令行输入java回车后有多行的命令符提示。直接在命令行输入java -jar jenkins.war即可启动jenkins,默认会运行在8080端口,切换到浏览器的地址栏输入http;//localhots:8080,localhost可以改成ip地址。
看到Jenkins的页面说明jenkins已经部署成功了。


二、Jenkins的配置

1、修改jenkins的根目录,默认地在$user.home/.jenkins 。


可以通过设置环境变量来修改,例如:

export JENKINS_HOME=/user/jenkins
然后重新启动jenkins。


2 、备份和恢复jenkins

只需要备份JENKINS_HOME下的所有文件和文件夹,恢复的时候需要先停止jenkins。


3、移动,删除或修改jobs

对于移动或删除jobs,只需要简单地移动或删除%JENKINS_HOEM%\jobs目录。

对于修改jobs的名字,只需要简单地修改%JENKINS_HOEM%\jobs下对应job的文件夹的名字。

对于不经常使用的job,只需要对%JENKINS_HOEM%\jobs下对应的jobs的目录zip或tar后存储到其他的地方。


4、可以在jenkins的url中执行一些命令来操作jenkins,如下
http://[jenkins-server]/[command] 命令可以为:

    exit shutdown jenkins
    restart restart jenkins
    reload to reload the configuration


5、Jenkins 启动时的命令行参数
--httpPort=$HTTP_PORT,用来设置jenkins运行时的web端口。
--httpsPort=$HTTP_PORT,表示使用https协议。
--httpListenAddress=$HTTP_HOST,用来指定jenkins监听的ip范围,默认为所有的ip都可以访问此jenkins server。

 
6、修改jenkins的timezone

如果jenkins所在的server的timezone不同于用户的timezone,这时候需要修改jenkins的timezone,需要在jenkins启动的时候增加下列参数-Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ


7、最好通过一个脚本来启动jenkins,确保jenkins每次都运行在相同的环境下,例如:
JENKINS_HOME=/usr/jenkins
cd  $JENKINS_HOME
nohup java -jar $JENKINS_HOME/jenkins.war --httpPort=8000 &

8、jenkins在后台运行
如果jenkins是部署在servlet容器中,例如apache,tomcat中。因为servlet容器一般都在后台运行了,所以jenkins也就已经在后台运行了。
对于windows用户需要在jenkins的管理页面中点击insall as windows service来将jenkins部署为service。 但是感觉比较好的方法还是手动将启动jenkins的脚本部署为windows service,从而可以更灵活地设置更多的参数。

9、jenkins的系统信息

可以在jenkins的管理页面下的系统信息中,查看所有的jenkins的信息,例如jenkins的启动配置,所依赖的系统的环境变量,所安装的plugins。


10、jenkins内置的环境变量

BUILD_NUMBER:唯一标识一次build,例如23;

BUILD_ID:基本上等同于BUILD_NUMBER,但是是字符串,例如2011-11-15_16-06-21;

JOB_NAME:job的名字,例如JavaHelloWorld;

BUILD_TAG:作用同BUILD_ID,BUILD_NUMBER,用来全局地唯一标识一此build,例如jenkins-JavaHelloWorld-23;
EXECUTOR_NUMBER, 例如0;

NODE_NAME:slave的名字,例如MyServer01;

NODE_LABELS:slave的label,标识slave的用处,例如JavaHelloWorld MyServer01;

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。
正文到此结束