从前面的小节中我们看到在创建 Jenkins 任务的时候有好几种类型,如果你专门安装了 Maven 相关插件,可能还会有一个【构建一个 maven 项目】的任务类型,那这些任务类型究竟有何区别,以及我们在创建任务时这些类型该如何选择呢?各个类型的具体区别其实看描述就能有个大概的了解,我这里就不重复描述了,最有效的做法就是每种类型的任务都建立几个,测试下看看有什么差异,这种方式很快就会了解不同类型任务的功能特性。



我这里主要介绍下【构建一个自由风格的软件项目】、【流水线】、【文件夹】这三种类型。

构建一个自由风格的软件项目:这是 Jenkins 的主要功能, Jenkins 将会结合任何 SCM 和任何构建系统来构建你的项目,甚至可以构建软件以外的系统。

流水线:精心地组织一个可以长期运行在多个节点上的任务。适用于构建流水线(更加正式地应当称为工作流),增加或者组织难以采用自由风格的任务类型。

文件夹:创建一个可以嵌套存储的容器。利用它可以进行分组。 视图仅仅是一个过滤器,而文件夹则是一个独立的命名空间, 因此你可以有多个相同名称的的内容,只要它们在不同的文件 夹里即可。

从描述中我们可以认为【文件夹】类型的任务就是一个独立的集合,它可以针对这个文件夹有自己独立的特殊配置文件,【文件夹】类型任务下面可以再建立所有类型的任务。自由风格类型的任务所有配置都在 Jenkins 上面进行配置修改,流水线类型的任务的配置是通过一种特定的语法脚本来描述。这些脚本文件可以通过代码仓库进行管理起来。我们可以创建一个【流水线】类型的任务,看看详细情况:

新建一个【流水线】类型的任务,名称为 jenkins-pipeline-test-task



可以看到很多的配置选项都没了,就剩一个编写流水线脚本的文本框:



展开【try sample Pipeline...】选项,选择【Hello World】,我们会看到文本框中会自动填入一段流水线代码:



【保存】后再【立即构建】看看效果吧,日志输出了 "Hello World":



【流水线】类型的任务可以做到一些【自由风格】任务做不了的事情,并且一个最大的好处就是可以做到"配置及代码",【流水线】类型的脚本文件除了直接在文本框里面输入还可以通过代码仓库进行管理。Jenkins 流水线任务支持脚本式的语法和申明式语法,两种语法的区别简单讲就是申明式语法有严格的语法结构,更加标准化,而脚本式语法就更加随意些。两种语法的具体区别可以看看官网的说明 https://www.jenkins.io/zh/doc/book/pipeline/syntax/#compare,在我们的后面学习中,我都将采用申明式语法,并且官方也是推荐采用申明式语法。

Jenkins 基础篇 - 任务分类的更多相关文章

  1. Jenkins: 基础篇(环境配置)

    自动化领域比较有影响力的开源框架jenkins,确实比较强大,易用.很多公司将其用来做持续即成CI(continuous integration).为了拓展和强化自己的软件设计生态系统,也将很久前使用 ...

  2. Jenkins 基础篇 - 插件安装

    这一小节主要介绍 Jenkins 插件的安装,登录到 Jenkins 后,依次进入到[系统管理]→ [插件管理]→ [可选插件],在这里可以看到所有的 Jenkins 插件,如下图: 我们在最开始安装 ...

  3. Jenkins 基础篇 - 小试牛刀

    现在我们来创建一个简单的 Jenkins 任务,这个任务输出 Java 版本信息和系统信息,通过这个任务我们先了解创建 Jenkins 任务的流程,以及了解一些对任务的基础设置,接下来就是演示任务的整 ...

  4. Jenkins 基础篇 - 任务创建

    前面了解了 Jenkins 上各种任务的区别后,我们就来实践应用下,先创建一个[文件夹]类型的任务,将我们目前的一些基础的演示任务[移动]到文件夹里面去,这样可以先做个简单的分类. 新建一个[文件夹] ...

  5. Jenkins 基础篇 - 环境准备

    前期准备 为了开发这套课程,我专门购买了一台二手戴尔服务器 Dell R720,同时把废弃多年的笔记本电脑也利用了起来.当然如果自己没有多余的电脑,也可以在自己电脑上安装 Vmware Worksta ...

  6. Jenkins 基础篇 - 安装部署

    Jenkins 安装 Jenkins 支持主流的 Linux 发行版系统,同时还支持 macOS.Windows.和 Docker 运行. 具体系统的 Jenkins 安装包可以去官网下载 https ...

  7. Jenkins 基础篇 - 基础设置

    站点设置 刚搭建好 Jenkins 环境,你还需要做一些简单设置,让我们的 Jenkins 看起来是这么一回事,特别是你要用于生产环境的时候.首先就是域名配置,如果你为 Jenkins 服务分配了一个 ...

  8. Jenkins 基础篇 - Server 配置

    我们使用 Jenkins 部署服务之前要先配置我们的目标服务器,配置目标服务器也很简单,就是将服务器的 IP.账号密码或者账号密钥配置在 Jenkins中.在演示服务器配置之前我们要先知道 Linux ...

  9. Jenkins 基础篇-凭证配置

    我们在正式开始使用 Jenkins 之前还要先配置一些凭证,这些凭证的作用主要是用于认证,例如我们要从代码仓库拉取代码,就需要用到代码仓库的账号密码或者密钥:我们要登录远程服务器也需要用户名密码或者密 ...

随机推荐

  1. Git修改用户名、邮箱和密码

    $ git config --global --replace-all user.name "要修改的用户名" $ git config --global --replace-al ...

  2. Spark中普通集合与RDD算子的sortBy()有什么区别

    分别观察一下集合与算子的sortBy()的参数列表 普通集合的sortBy() RDD算子的sortBy() 结论:普通集合的sortBy就没有false参数,也就是说只能默认的升序排. 如果需要对普 ...

  3. abp加DDD开发:低耦合、可复用、可扩展的【工单】业务模块-简介和集成

    前言 很多场景[单体+模块化]比微服务更合适,开发难度低.代码可复用性强.可扩展性强.模块化开发有些难点,模块启动与卸载.模块之间的依赖和通讯.asp.net core abp为我们提供了模块化开发能 ...

  4. 使用 Github Actions artifact 在 workflow job 之间共享数据

    (AgileConfig)[https://github.com/kklldog/AgileConfig] 在使用 react 编写UI后,变成了一个彻彻底底的前后端分离的项目,上一次解决了把reac ...

  5. windows一些知识

    宽字节 1.什么是ASCII码? 一张存储了字母大小写与一些符号的表,用一个字节表示,最高位不使用,最多只能存储128个符号或字母,但世界上有很多种语言,这远远不够 2.什么是扩展ASCII码? 把最 ...

  6. 系统编程-信号-总体概述和signal基本使用

    信号章节 -- 信号章节总体概要 信号基本概念 信号是异步事件,发送信号的线程可以继续向下执行而不阻塞. 信号无优先级. 1到31号信号是非实时信号,发送的信号可能会丢失,不支持信号排队. 31号信号 ...

  7. 解决删除Azure Active Directory的Enterprise Applications异常

    当我们不需要使用某个Azure Active Directory(以下简称AAD)的时候,我们可以删除它,这个时候Azure会对当前的AAD包含的内容进行检查, 在所有的检查项目中有一个名叫" ...

  8. linux下更新gcc

    1 下载源码 链接 目前最新为9.2版本. 2 解压 tar -zxvf gcc-9.2.0.tar.gz cd gcc-9.2.0 3 download_prerequisites脚本 运行这个脚本 ...

  9. (二) LDAP 安装

    LDAP 安装 参考:https://blog.51cto.com/bigboss/2341986

  10. element UI el-autocomplete 带输入建议的输入框

    项目需求:需要用户在输入框中输入公司 全名    但是为了避免用户输入不全   需要做一个带输入建议的输入框 参考:https://www.jianshu.com/p/de922caf337c