一、新建任务

点击左侧新建任务

输入任务名称-->选择构建一个自由风格的软件项目-->确认

进入任务配置页面

二、基本配置

General

配置构建保留天数,保留个数,必要时并发构建

源码管理

配置svn地址,用户名密码

构建环境

配置ant

构建

配置maven,pom.xml文件目录,settings.xml文件目录

三、任务配置详解

1.General

(1)项目名称:之前创建项目所取名称

(2)描述:可写对项目的介绍、项目功能等,可选

(3)GitHub project:(点击问号可以查看解释信息)

(4)Throttle builds:节流建立

(5)丢弃旧的构建:

(6)参数化构建过程:

1)参数允许您提示用户输入一个或多个输入,这些输入将被传递到构建中。例如,您可能有一个项目,它通过允许用户上传一个zip文件并通过二进制文件进行测试来运行需求测试。这可以通过在这里添加一个文件参数来完成。
        2) 或者您可能有一个发布软件的项目,您希望用户输入与软件一起上传的发布说明。这可以通过在这里添加多行字符串参数来完成。
        3)每个参数都有一个名称和某种值,这取决于参数类型。这些名称/值对将出口作为环境变量时开始生成,可以生成配置的后续部分(如生成步骤)访问这些值,例如使用${PARAMETER_NAME} 语法(或 %PARAMETER_NAME% on Windows)。
        4)这也意味着这里定义的每个参数都应该有唯一的名称。
        5)当一个项目被参数化时,通常的构建链接将被一个带有参数链接的构建所代替,用户将被提示为每个定义的参数指定值。如果他们选择不输入任何内容,那么构建将以每个参数的默认值开始。
        6)如果某个构建是自动启动的,例如,如果由SCM触发器启动,则将使用每个参数的默认值。
        7)当参数化构建在队列中时,尝试启动同一项目的另一个构建只在参数值不同时才成功,或者如果需要启用选项,则执行并发构建。

详情请查看参数化构建文档:https://wiki.jenkins.io/display/JENKINS/Parameterized+Build

(7)关闭构建:

1)选中此选项时,将不会执行该项目的新版本。
        2)当你想暂时阻止一个项目被建立时,这会很有帮助。例如,如果您的项目依赖于某些基础设施(例如测试服务器或源代码存储库),并且您知道它将在一段时间内不可用,则可以禁用该项目,以防止在此期间不必要的构建失败(以及任何相应的通知)。

(8)在必要时并发构建:

1)选中此选项时,可以并行执行此项目的多个构建。
        2)默认情况下,一次只执行一个项目的单个构建 - 任何其他开始构建项目的请求将保留在构建队列中,直到第一次构建完成。
        3)这是一个安全的默认值,因为项目通常可能需要对某些资源(如数据库或硬件)的独占访问。
        4)但是,启用此选项后,如果有足够的构建可执行程序可以处理此项目,则该项目的多个构建将并行进行。如果任何时候没有足够的可用执行程序,则正常情况下,构建队列中将继续保留进一步的构建请求。
        5)启用并发构建对于执行冗长测试套件的项目很有用,因为它允许每个构建包含较少数量的更改,而总周转时间会减少,因为后续构建不需要等待以前的测试运行完成。

详情请查看文档:https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties

2.源码管理

(1)None:无源码

(2)Git:通过git进行源码管理

(3)Subversion:通过svn进行源码管理

3.构建触发器

(1)触发远程构建 (例如,使用脚本):

1) 如果要通过访问特殊的预定义URL(方便脚本)触发新构建,请启用此选项。
       2)此功能的一个典型示例是从源代码控制系统的钩子脚本(当某人刚刚提交到存储库中的更改)或从解析源控件电子邮件通知的脚本触发新构建时。
       3)您需要以字符串的形式提供授权令牌,以便只有那些知道它的人才能够远程触发此项目的构建。

(2) Build after other projects are built:在构建其他项目后构建

(3)Build periodically:定期构建

在 日程表中填写 0 * * * *。

第一个参数代表的是分钟 minute,取值 0~59;

第二个参数代表的是小时 hour,取值 0~23;

第三个参数代表的是天 day,取值 1~31;

第四个参数代表的是月 month,取值 1~12;

最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。

所以 0 * * * * 表示的就是每个小时的第 0 分钟执行一次构建。

(4)GitHub hook trigger for GITScm polling:GITSUB钩子触发器用于GITSCM轮询

如果jenkins从在Git SCM部分中定义的repo中获得PUSH GitHub钩子,它将触发Git SCM轮询逻辑。因此,轮询逻辑实际上属于Git SCM。

(5)Poll SCM:轮询SCM管理

请注意,这对CVS来说是一项昂贵的操作,因为每次轮询都需要Jenkins扫描整个工作区并与服务器进行验证。 考虑设置“推”触发器,以避免此开销

详情请查看:https://wiki.jenkins.io/display/JENKINS/Building+a+software+project

4.构建环境

(1)Delete workspace before build starts:在build开始之前删除工作区

(2)Use secret text(s) or file(s):使用保密文本或文件

允许您获取各种凭据,并从shell构建步骤等中使用它们。 每个绑定将定义一个环境变量。

(3)Abort the build if it's stuck:如果生成失败,中止生成(预防卡住场景)

(4)Add timestamps to the Console Output:向控制台输出添加时间戳

(5)With Ant:ant相关

5.构建

(1)Execute Windows batch command:执行Windows批处理命令

(2)Execute shell:执行shell

(3)Invoke Ant:调用ant

(4)Invoke Gradle script:调用Gradle脚本

(5)Invoke top-level Maven targets:调用top-level Maven目标

(6)Run with timeout:运行超时

(7)Set build status to "pending" on GitHub commit:在github上设置“等待”的构建状态

6.构建后操作

(1)Aggregate downstream test results:综合下游测试结果

(2)Archive the artifacts:归档文物

(3)Build other projects:构建其他项目

(4)Publish JUnit test result report:发布JUnit测试结果报告

(5)Record fingerprints of files to track usage:技术文件中的指纹跟踪使用情况

(6)Git Publisher:Git发行商

(7)E-mail Notification:电子邮箱通知配置(邮件格式只支持jenkins固定格式)

(8)Editable E-mail Notification:可编辑电子邮箱通知(发送格式可配)

(9)Set GitHub commit status(universal):设置github提交状态(通用)

(10)Set build status on GitHub commit[deprecated] :在github上设置构建状态[已弃用]

(11)Delete workspace when build is done:在完成构建时删除workspace

jenkins新建任务详解的更多相关文章

  1. 利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解

    本文转载自利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解 导语 由于最近工作需要利用 Jenkins 远程 API 操作 Jenkins 来完成一些列操作,就抽空研究 ...

  2. Jenkins安全配置详解

    一.进入安全配置界面 首页后点击进入系统管理(Manage Jenkins) ——下拉下方看到安全配置(Configure Global Security) ——进入安全配置界面 二,详解安全配置的选 ...

  3. Jenkins CLI 命令详解

    笔者在前文<通过 CLI 管理 Jenkins Server>中介绍了如何通过 SSH 或客户端命令行的方式管理 Jenkins Server,限于篇幅,前文主要的目的是介绍连接 Jenk ...

  4. 自动化集成:Jenkins管理工具详解

    前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译.打包.镜像构建.部署等操作:本篇文章主要描述Jenkins基础用法. 一.Jenkins安装 1. ...

  5. Jenkins 自动化部署详解

    一.背景 以前在发布系统的时候,总是需要经过本地合并代码 >编译 >发布到本地 >拷贝代码到远程服务器 >停止掉服务器上的应用池 >将要发布的文件替换原文件 >重启 ...

  6. jenkins构建触发器详解-不登录触发远程构建详解

    利用jenkins的远程构建功能,我们可以使用任何脚本,甚至定制一个Web页来控制Job的执行,但是远程构建你如果直接使用的话,老是需要登录才能执行,如何避免登录?稍微折腾了一下,调通了. 1.首先去 ...

  7. Jenkins pipeline 语法详解

    原文地址http://www.cnblogs.com/fengjian2016/p/8227532.html pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节 ...

  8. jenkins构建触发器详解-不登录触发远程构建

    利用jenkins的远程构建功能,我们可以使用任何脚本,甚至定制一个Web页来控制Job的执行,但是远程构建你如果直接使用的话,老是需要登录才能执行,如何避免登录?稍微折腾了一下,调通了. 1.首先去 ...

  9. Jenkins Pipeline 参数详解

    Pipeline 是什么 Jenkins Pipeline 实际上是基于 Groovy 实现的 CI/CD 领域特定语言(DSL),主要分为两类,一类叫做 Declarative Pipeline,一 ...

随机推荐

  1. arcgis10.2下载安装教程

    ArcGIS Desktop 10.2 完全安装教程(含win7 32/64位+下载地址+亲测可用) 时间: 2014年08月20日   阅读: 622,262   分类: GIS探秘   标签: A ...

  2. 问题 C: 查找

    #include <cstdio> #include <vector> #include <algorithm> using namespace std; bool ...

  3. win10专业工作站版密钥|win10专业工作站版key|win10专业工作站版激活码

    一.windows10专业工作站零售版密钥 永久激活 Win 10 ProfessionalWorkstation Retail [Key]:DXG7C-N36C4-C4HTG-X4T3X-2YV77 ...

  4. 深入浅出Mybatis系列八-mapper映射文件配置之select、resultMap

    注:本文转载自南轲梦 注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 上篇<深入浅出Mybatis系列(七)---mapper映射文件配置之inse ...

  5. HashMap源码刨析(面试必看)

    目录 1.Hash的计算规则? 2.HashMap是怎么形成环形链表的(即为什么不是线程安全)?(1.7中的问题) 3.JDK1.7和1.8的HashMap不同点? 4.HashMap和HashTab ...

  6. 为什么 MySQL 使用 B+ 树

    为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确,大多数人都只会简单说一下 B+ 树和 B 树的区别,但是都没有真正 ...

  7. 2019.2.21 T2题解

    meet 大概思路就是 , 找出相交的路径 , 判断方向 , 分类讨论.. 假设已经找出了相交路径 ... 若方向相同 , 则找到相交路径上边权的最大值 , 若最大值>出发时间差 , 则可行. ...

  8. 2019-08-25 纪中NOIP模拟A组

    T1 [JZOJ6314] Balancing Inversions 题目描述 Bessie 和 Elsie 在一个长为 2N 的布尔数组 A 上玩游戏. Bessie 的分数为 A 的前一半的逆序对 ...

  9. PHP代码安全杂谈

    虽然PHP是世界上最好的语言,但是也有一些因为弱类型语言的安全性问题出现.WordPress历史上就出现过由于PHP本身的缺陷而造成的一些安全性问题,如CVE-2014-0166 中的cookie伪造 ...

  10. 【你不知道的javaScript 上卷 笔记4】javaScript 中闭包的一些运用

    什么是闭包 闭包是javaScript语言的一种特性,在 javaScript 中以函数作为承接单元.当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行. fun ...