流水线语法 | jenkins pipeline stage
当Jenkins流水线第一次构建时,Groovy被选为基础。Jenkins长期使用嵌入式Groovy引擎来为管理员和用户提供高级脚本功能。另外,Jenkins流水线的实现者发现Groovy是构建现在成为"脚本化流水线"DSL的坚实基础。由于它是一个功能齐全的编程环境,脚本化流水线为Jenkins用户提供了大量的灵活性性和可扩展性。Groovy学习曲线通常不适合给定团队的所有成员,因此创造了声明式流水线来为编写Jenkins流水线提供一种更简单、更有主见的语法。两者本质上是相同的流水线子系统。underneath.他们都是"流水线即代码"的持久实现。它们都能够使用构建到流...
当Jenkins 流水线第一次构建时, Groovy 被选为基础。 Jenkins长期使用嵌入式 Groovy引擎来为管理员和用户提供 高级脚本功能。另外, Jenkins流水线的实现者发现 Groovy是 构建现在成为 "脚本化流水线" DSL的坚实基础 。
由于它是一个功能齐全的编程环境, 脚本化流水线为Jenkins用户提供了 大量的灵活性性和可扩展性。 Groovy学习曲线通常不适合给定团队的所有成员, 因此创造了声明式流水线来为编写Jenkins流水线提供一种更简单、更有主见的语法。
两者本质上是相同的流水线子系统。 underneath. 他们都是 "流水线即代码" 的持久实现。它们都能够使用构建到流水线中或插件提供的步骤。它们都能够使用 共享库[1]
但是它们的区别在于语法和灵活性。 声明式限制了用户使用更严格和预定义的结构, 使其成为更简单的持续交付流水线的理想选择。 脚本化提供了很少的限制, 以至于对脚本和语法的唯一限制往往是由Groovy子集本身定义的,而不是任何特定于流水线的系统, 这使他成为权利用户和那些有更复杂需求的人的理想选择。 顾名思义, 声明式流水线鼓励 声明式编程模型。 而脚本化流水线遵循一个更命令式的编程模型
References 共享库 (jenkins.io)