Jenkins学习

来源:互联网 发布:软件开发项目经费预算 编辑:程序博客网 时间:2024/06/09 18:09

Jenkins是一个可扩展的持续集成引擎,是监视重复工作的执行。
它的特点如下:
1.软件构建自动化:配置完成以后,ci会按照预先制定的时间表,进行构建
2**构建可持续的自动化检查**,当需要周期性的检查新的代码或修改后的代码是否会影响到之前的功能。
3.可持续的自动化测试:构建后执行一套测试规则
4.生成后续过程的自动化,当自动化检查和自动化测试完成以后,可能会需要一些额外的任务,如生成文档、打包软件等

一个持续集成系统需要:一个代码仓库和一个构建脚本项目。

Jenkins是一个持续集成系统:持续集成系统(CI系统)在整个开发过程中的主要作用是控制:当系统在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身,如果构建失败则会通知相关人员。

构建触发器:PollSCM 可以指定一个定时作业表达式来定义Jenkins每隔多久检查一次,源代码仓库的变化。如果发现变化则执行一次构建

Buildperiodically 通知Jenkins按指定的频率对项目进行构建,不过SCM是否有变化

Jenkins插件,现有功能的扩展和Jenkins提供的新功能都称为Jenkins插件。

另外一些 其它的特点:
1、软件的持续构建和测试
2、监视外部运行的job的执行

Jenkins是通过master/slave来支持分布式的job运行

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;
NODE_NAME,slave 的名字,例如 MyServer01;
NODE_LABELS,slave的 label,标识 slave 的用处,例如 JavaHelloWorld MyServer01;
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;

为什么要构建从节点?
节点调度模式:空闲时节点自动断开,当分配到节点的job触发时,结点自动连接。
(上次就把我自己的机器作为一个结点加进去了)
如果想要在机器上跑job就要把机器作为一个Jenkins集群的一个节点。
新Jenkins的节点有两种方式:ssh方式和jnlp方式连接。
SSH方式适用于Linux系统的机房服务器或虚拟机。
JNLP方式适用于Linux系统的门神控制的服务器或虚拟机以及办公网的个人机(包括MAC、PC等)。Jenkins与Slave间的通信使用8556端口,但由于办公网和机房之前的受控网络所以少部分办公网机器无法作为节点。

常见的问题
1.job打不开提示404
2.发现job构建卡死点叉也无法停止
3.执行构建时报错提示找不到所需要的环境变量或者命令,但是在本地执行验证的时候却没有问题,怎么办?
请在job的shell命令的最上方加上“source ~/.bash_profile”

0 0
原创粉丝点击