繁体   English   中英

jenkins中freestyle项目和pipeline的区别

[英]difference between freestyle project and pipeline in jenkins

尝试创建新项目时,我对 jenkins 中的 Freestyle 项目和管道有些困惑。

我什么时候应该使用 Freestyle 项目创建项目? 在什么情况下我应该使用管道?

我是否需要将 config.xml 存储到代码存储库中以供将来导入? 或者还有其他用法吗?

谢谢你的帮助。

如果您在过去使用jenkins而不使用Jenkins文件,那么您使用的东西更类似于自由式项目。

如果你讨厌在CI系统中输入东西,因此想要使用管道作为代码 - 你将所有CI配置放入源代码控制(Jenkinsfile)中的文件中,让Jenkins读取该文件以确定要做什么 - 使用管道 一旦你了解了管道,就不会有很多你喜欢自由式项目的情况。

不同之处在于,在Pipeline中,我们有能力将我们的工作分解到不同的阶段,我们可以拥有我们想要代表我们用于部署软件的过程的任何阶段,当然,如果出现任何问题,我们可以看到哪个阶段有问题; 例如。 我们甚至可以在继续之前添加验证。 我们能够并行运行各个阶段,因此我们可以非常轻松地在不同的分支中执行多个测试。

我看到 Jenkins Freestyle 项目和 Pipeline 之间的主要区别是 GUI 与脚本的使用。

下面是一些更详细的区别

自由式项目

  • 使用 GUI 添加不同的阶段和步骤
  • 更适合不太复杂的场景
  • 适合开始使用 Jenkins/CI 解决方案的人
  • 当您的场景变得更加复杂时,可能很难实现您想要的

管道作业

  • 使用代码(Groovy 语言——这是一种类似 Java 的语言)给出指令
  • 因为,一个脚本中的所有内容都可以保留在源代码管理中,并且能够随时恢复到早期版本或跟踪对脚本所做的更改
  • 整个管道由步骤组成(例如:构建、测试、部署等)
  • 使用 Jenkinsfile 创建

Jenkinsfile 可以是以下两种类型之一

  1. 声明式管道(需要蓝海插件才能使用图形管道编辑器)
  2. 脚本化管道

config.xml 的用法

您可以 append config.xml 到 jenkins url 的末尾(在浏览器中)并查看与该作业相关的所有信息作为 xml 文件。 这对于没有该作业写入权限的用户也是可能的。 不确定为什么需要将其存储在源代码中。

自由式还是流水线?

在我看来,如果您对 Jenkins 有一些经验,则 go 用于管道。但如果您是第一次使用它或没有太多经验,从 Freestyle 项目开始是个好主意,最终您可以将其转换为管道并实现更复杂的东西。

希望这可以帮助:)

如果要为CI CD管道实现UCD工具,请尝试添加改造插件

我们可以说自由式项目和Pipeline之间的主要区别。 使用Pipeline,您可以使用ruby程序编写jenkins文件,您可以配置CI / CD。

如果您是开发人员,那么编写管道代码将感觉更舒适自然。 如果您是DevOps专业人员,维护您的管道将更容易,因为您可以将其视为驱动关键流程的任何其他代码集。

您可以考虑的另一个方面是您在文件中编写代码这一事实。 因此,您可以将其存储在 git 服务器中,以保持您的旧作业可访问

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM