Jenkins Job 类型

**1.Freestyle project **

这个是jenkins的基础功能,可以用它来执行各种构建任务,他只能构建在一个电脑上,如果没有太多的需求,这个job基本够用了,它包含了所有基础功能.

**2.Pipeline **

真实的工作环境有很多job,比如先编译,然后执行静态代码检查、单元测试、然后部署服务器、服务器重启、进行ui测试等。我们需要对这些job进行一些设置将它们的上下游关系配置好。这个时候就需要pipeline配置了.详细的可以参考这篇文章

**3.External job **

用来监视外部执行的job.

4.Multi-configuration project **

可以让job跑在不同的机器上.这个需要添加机器(节点),流程的话可以参考这篇文章

5.
文件夹**

这是一种可以把多个项目归类到一起的方式,而不是项目本身的类型。请注意,这并不像Jenkins仪表板上传统的“视图”选项卡那样,让你按照项目列表筛选。更确切地说,它就像操作系统中的目录文件夹。文件夹名称是项目路径的一部分。

Job配置界面

1.General:一般设置

Project name:项目名称

Description:项目描述,多人写作请一定要加上

Discard old builds:该选项配置如何抛弃旧的构建

每次构建相关的文件都会保存下来,将会渐渐耗光磁盘空间,为此提供两种方式供选择:

    • Days to keep builds:如果其值为非空的N,就留N天之内的构建文件
    • Max # of builds to keep:如果#为非空,就公保留最多#个最近构建的相关文件
    • days to keep artifcts 产品保留时间,但是log,历史记录会保留
    • builds to keep with artifacts 保留最近几个构建的产品
  • This project is parameterized:可以设置用户可输入的参数,没有输入则使用默认值,有字符串,多行字符串,布尔值等可以设置.点击了解更多
  • Throttle builds:设置两个build任务之间最小间隔和同一个时间内最大任务数量
  • Disable this project:停止这个job,当例如源码不可用时,可以暂时勾选这个停止build
  • Execute concurrent builds if necessary: 如果可以会并发执行build.勾选上后.如果有足够的线程池则会并发,否则不会.并发构建会在不同的workspace中.如果用户自己设置的workspace则不会分开,这个是有风险的.
  • Restrict where this project can be run: 设置是否必须在某个机器上运行.如果是分布式部署或者迁移job,注意移除或修改此项配置
  • Quiet period:配置等待未发生提交变化的时间. 由于 jenkins检测到代码变化时,就自动立即构建,但是有些情况下, 需要多次提交代码到版本控制系统上,此时,可能发生代码还没完整提交就开始构建,造成构建失败,为防止此种情况发生,可以配置值X,则jenkins会在代码变化后等待X秒,如果没在发生代码提交,才开始构建,保证稳定性。
  • Block build when downstream project is building:该选项当多个相关联的项目由一个提交所影响,但是它们必须以一个指定的顺序进行构建的时候非常有用。当你选择这个选项的时候,Jenkins将会在启动这个构建之前,完成任何上游构建Job; 例如使用pipes的时候

2.Source Code Management:源码管理

通过这里设置源码管理路径,这个与后面的轮询源码变化触发编译是成对的.不想设置或者后面有脚本可以自主管理可以选择none

3. Build Triggers:构建触发器

  • Trigger builds remotely (e.g., from scripts):外部通过url命令触发,拼接token和url就可以进行远程触发了
  • Build after other projects are built:监控其他job的构建状态,触发此job.如监听代码提交,然后触发UITest,静态分析等.
  • Build periodically:定时触发.选择 Build periodically,在 Schedule 中填写 0 * * * _.第一个参数代表的是分钟 minute,取值 0~59;第二个参数代表的是小时 hour,取值 0~23;第三个参数代表的是天 day,取值 1~31;第四个参数代表的是月 month,取值 1~12;最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。所以 0 _* * * 表示的就是每个小时的第 0 分钟执行一次构建。举个例子:每周六10点构建 0 10 * * 6,0-0分钟, 10-10点 _-任意天 _-任务月份 6-周六, 0可以改为H.
  • Poll SCM:定时感知代码分支是否有变化,如果有变化的话,执行一次构建.示例:H/5 * * * * 每五分钟去检查一下远程仓库,看代码是否发生变化。

    GitHub hook trigger for GITScm polling:hookplugin检测到源码的push操作触发构建,感觉Poll SCM更方便些,如果提交频繁,则这个触发就会频繁,看业务需要设置.

4.Build Environment(设置构建环境)

  • Delete workspace before build starts:默认删除所有的,也可以设置删除特定的文件

      • Patterns for files to be deleted:正则匹配删除哪些文件
      • Apply pattern also on directories:规则是否也应用到文件夹
      • Check parameter:是否删除,是个bool值,true则删除,false不删除.为毛感觉这个有点鸡肋
      • External Deletion Command:执行外部删除命令
  • Abort the build if it’s stuck:构建阻塞的时候,根据超时策略处理.
      • Time-out strategy:超时策略,有绝对时间,相对时间,根据以前的构建时间判断等
      • Time-out variable:超时时间
      • Time-out actions:超时后的处理,如终结,faile调或者写描述
      • Add timestamps to the Console Output:在输出界面添加时间戳
      • Use secret text(s) or file:使用密文,用于全局性的管理密码等,勾选后会在下方出现Binding,输入需要的用户名,密码证书等就可以了

5.Build(构建)

这个可以执行多种命令,如window的批处理,shell等一般shell就可以了.平时的自定义编译命令,打包等等,都可以写在这里.jenkins推荐将过长的命令写到下载的源码里,由这个里面的shell命令调用.jenkins执行的时候会默认把所有的命令都打印出来,这样方便调试.可以创建多个build step,这些step是串行的,一个faile,,后面的step都不会执行了.

6.Post-build Actions

可以根据build的结果设置发送邮件,打包,执行其他任务等等.build成功还是失败都会走到这一步.

快速创建Jenkins Job的更多相关文章

  1. Docker_快速部署jenkins

    开门见山,如何在利用docker快速部署jenkins服务?下面详解 1:docker的基本按照与部署,前文已经详述,这里不多说. 2:pull一个jenkins镜像 docker pull jenk ...

  2. 使用 docker-compose 快速安装Jenkins

    本文分享在 docker 环境中,使用 docker-compose.yml 快速安装 Jenkins,以及使用主机中的 docker 打包推送镜像到阿里云 博客园的第100篇文章达成,2019的第一 ...

  3. 快速搭建Jenkins集群

    关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...

  4. 5分钟快速掌握Jenkins,项目一键自动部署

    5分钟快速掌握Jenkins,项目一键自动部署 目录 前言 Jenkins是什么? Jenkins环境安装搭建 Jenkins基本使用介绍 Jenkins快速构建项目,项目自动化部署 学习总结 前言 ...

  5. 快速创建 IEqualityComparer 实例:改进

    两年前,我写了篇文章<快速创建 IEqualityComparer<T> 和 IComparer<T> 的实例>,文中给出了一个用于快速创建 IEqualityCo ...

  6. Hyper-v之利用差异磁盘快速创建多个虚拟机

    在新建Hyper-v磁盘的时候 有3种选项 其中分别是 固定大小 动态扩展 和 差异(differencing,个人习惯叫 差分) 其中 固定大小是新建的时候 Hyper-v创建一个设置大小值的文件, ...

  7. Bounce.js – 快速创建漂亮的 CSS3 动画效果

    Bounce.js 是一个用于制作漂亮的 CSS3 关键帧动画的 JavaScript 库,使用其特有的方式生成的动画效果.只需添加一个组件,选择预设,然后你就可以得到一个短网址或者导出为 CSS 代 ...

  8. (视频)《快速创建网站》 4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术

    本文是<快速创建网站>系列的第10篇(完结篇),如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文.访问本系列目录,请点击:http://devopshub.c ...

  9. (视频)《快速创建网站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)

    本文是<快速创建网站>系列的第9篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  10. (视频) 《快速创建网站》3.4 网站改版3分钟搞定 - WordPress主题安装和备份

    本文是<快速创建网站>系列的第8篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

随机推荐

  1. Fast.Framework ORM 试用

    简介 Fast.Framework 是一款基于 .NET 6 封装的轻量级ORM框架,支持多种数据库(SQL Server.Oracle.MySQL.PostgreSQL.SQLite). 优点 性能 ...

  2. PPR管及管件的类型、规格与选用

    1. PPR管的类型及参数识读 2. 常用的PPR管件及规格 3. 住宅给水管的PPR管及管件的需求量

  3. centos离线安装nvm

    PS:因为项目需,客户现场不能联网需要不同的node版本来切换,里面已经内置好了node 8.11.2和12.1.0 两个版本,使用nvm可以切换 链接:https://pan.baidu.com/s ...

  4. PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程

    摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合.这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的 ...

  5. 220722 T1 分树 (模拟)

    dfs一遍求出以每个节点为根的子树大小,然后枚举n的约数,对于每个约数i,统计sz[ ]是i的倍数的有多少个(开桶统计),如果有n/i个则答案+1. 这道题也就是个结论题,画图分析一下.复杂度O(n* ...

  6. 220403 考试爆炸记 (T1T2)

    T1 最大约数和 先放一下我考时的代码.(没想到能A过洛谷的数据,可能是洛谷的数据有点弱) #include<bits/stdc++.h> using namespace std; int ...

  7. Go中的闭包、递归

    一 闭包详解 闭包的应该都听过,但到底什么是闭包呢? 闭包是由函数及其相关引用环境组合而成的实体(即:闭包=函数+引用环境). "官方"的解释是:所谓"闭包", ...

  8. SpringBoot (四) - 整合Mybatis,逆向工程,JPA

    1.SpringBoot整合MyBatis 1.1 application.yml # 数据源配置 spring: datasource: driver-class-name: com.mysql.c ...

  9. HTML元素大全(1)

    01.基础元素 <h1/2/3/4/5/6>标题 从大h1到小h6,块元素,有6级标题.是一种标题类语义标签,内置了字体.边距样式. 合理使用h标签,主要用于标题,不要为了加粗效果而随意使 ...

  10. 前端性能优化——首屏时间&&白屏时间

    1.首屏时间概念 首屏时间是指用户打开一个网站时,直到浏览器首页面内容渲染完成的时间. 2.白屏时间概念 白屏时间即是,浏览器开始显示内容的时间,所以我们一般认为解析完<head>的时刻, ...