📅  最后修改于: 2021-01-04 02:52:11             🧑  作者: Mango
在詹金斯(Jenkins)中,管道是事件或作业的集合,这些事件或作业按顺序相互链接。
它是支持使用Jenkins集成和实现连续交付管道的插件的组合。
换句话说,Jenkins管道是作业或事件的集合,这些作业或事件通过使用自动化工具将软件从版本控制带到最终用户的手中。它用于将持续交付纳入我们的软件开发工作流程。
管道具有可扩展的自动化服务器,用于通过DSL(特定于域的语言)“作为代码”创建简单甚至复杂的交付管道。
在Jenkins管道中,每个作业都至少依赖一个或多个作业或事件。
上图表示Jenkins中的连续交付管道。它包含状态的集合,例如构建,部署,测试和发布。这些作业或事件相互关联。每个州都有其工作,这些工作按称为连续交付管道的顺序工作。
连续交付管道是一种自动表达,可以显示您获取用于版本控制的软件的过程。因此,您的软件中进行的每项更改都需要经过许多复杂的过程才能发布。它还涉及以可重复且可靠的方式开发软件,以及通过多个测试和部署阶段来逐步构建内置软件。
Jenkins Pipeline可以由一个名为JenkinsFile的文本文件定义。您可以使用JenkinsFile将管道实现为代码,并且可以使用DSL(特定于域的语言)来定义。借助JenkinsFile,您可以编写运行Jenkins管道所需的步骤。
使用JenkinsFile的好处是:
可以使用Web UI或JenkinsFile定义JenkinsFile。
两种语法用于定义JenkinsFile。
声明式:
声明性管道语法提供了一种创建管道的简单方法。它由用于创建Jenkins管道的预定义层次结构组成。它使您能够以简单,直接的方式控制管道执行的所有方面。
脚本化:
脚本化的Jenkins管道语法在轻量级执行程序的帮助下在Jenkins主数据库上运行。它使用很少的资源将管道转换为原子命令。
脚本化语法和声明性语法互不相同,并且定义完全不同。
Jenkins是一个持续集成服务器,具有支持软件开发流程自动化的能力。您可以在用例的帮助下创建多个自动化作业,并将它们作为Jenkins管道运行。
这是您应该使用Jenkins管道的原因:
管道:这是用户定义的块,包含所有过程,例如构建,测试,部署等。它是JenkinsFile中所有阶段的集合。在此块中定义了所有阶段和步骤。它用于声明性管道语法。
pipeline{
}
节点:节点是运行Jenkins的机器,称为节点。脚本块管线语法中使用了节点块。
node{
}
阶段:此块包含管道中的一系列步骤。即,构建,测试和部署过程全部都集中在一个阶段中。通常,一个阶段块可视化詹金斯管道流程。
让我们看一个多个阶段的示例,其中每个阶段执行一个特定的任务:
pipeline {
agent any
stages {
stage ('Build') {
...
}
stage ('Test') {
...
}
stage ('QA') {
...
}
stage ('Deploy') {
...
}
stage ('Monitor') {
...
}
}
}
步骤:步骤是在定义的时间执行特定过程的单个任务。管线涉及在阶段块中定义的一系列步骤。
pipeline {
agent any
stages {
stage ('Build') {
steps {
echo 'Running build phase...'
}
}
}
}