Ansible 或 Jenkins 管道用于更大的工作



目前我们正在使用 Jenkins 流水线和 Ansible 剧本的组合。通常,我们最终会得到简短的 ansible 剧本,这些剧本要么在 Jenkins 管道内部运行,要么只是作为 Jenkins 作业运行。

对于更复杂的多步骤作业,有什么更好的方法?

例如,一个作业包括:

  1. 从 AMI 启动 ec2 实例
  2. 运行迁移
  3. 拉取最新代码,编译并重启
  4. 从临时实例创建新的 AMI,从临时实例创建新的 AMI。
  5. 终止临时实例

我喜欢这样一个事实,即我可以处理 Jenkins 管道中的用户输入以及管道中每个步骤的图形表示。在上面的例子中,每个步骤都可能是它自己的小剧本。将参数从一个剧本传递到另一个剧本并不是那么简单,但我们知道如何做到这一点。

我不是 100% 确定我是否达到了最佳标准,因为在创建这些管道期间,我认为这可能是可行的,反之亦然。

如何同时使用这两者有什么甜蜜点吗?

好吧,您确实很清楚每个工具带来的限制,

最佳点是哪种方法最适合您和您的公司,现在,问问自己哪种方法更容易管理? 扩展时哪一个会变得太复杂?

我已经完成了这两种方法,发现 jenkins 的管道工具似乎在"可读性"和易于管理方面效果最好,当我们有机会将新成员带入团队并且他们可以通过查看我们在 Jenkins 上的管道来快速了解流程时,这一点尤其明显,

现在,我们还使用了 jenkins(只是 ci(+ nexus(工件管理(+ 章鱼(只是 cd(+ ansible(配置(的组合来处理复杂管道上的所有内容,

再次问问自己什么更容易管理,什么最有可能随着时间的推移而增长(管道上的步骤数、管道或作业的数量、要管理的服务器数量等(,并据此做出决定,

此致敬意

最新更新