gpt4 book ai didi

jenkins - Ansible 是否可以替代 Hudson/Jenkins 等 CI 工具?

转载 作者:行者123 更新时间:2023-12-03 05:25:11 26 4
gpt4 key购买 nike

最近,在我们公司,我们决定使用 Ansible 进行部署和持续集成。但是当我开始使用 Ansible 时,我没有找到用于使用 Maven 构建 Java 项目的模块,也没有找到用于运行 JUnit 测试或 JMeter 测试的模块。

所以,我处于一种怀疑的状态:可能是我以错误的方式使用 Ansible。

当我查看 Jenkins 时,它可以执行构建、运行测试、部署等操作。 Hudson 中缺少的事情是在 AWS 等云环境中创建/删除实例。

那么,一般来说,我们需要使用 Ansible/Jenkins 的目的是什么?对于 CI,我需要结合使用 Ansible 和 Jenkins 吗?

请阐明 Ansible 的正确用法。

最佳答案

首先,Jenkins 和 Hudson 基本上是同一个项目。下面我将其称为 Jenkins。请参阅How to choose between Hudson and Jenkins? , Hudson vs Jenkins in 2012 ,和 What is the most notable difference between Jenkins and Hudson from a user perpective?了解更多。

其次,Ansible 并不是一个持续集成引擎。它(通常)不会轮询 git 存储库并运行以正常方式失败的构建。

我什么时候可以简单地使用 Jenkins?

如果您的机器环境和部署过程非常简单(例如在团队外部配置的 Heroku 或 Iron),Jenkins 可能就足够了。您可以编写一个自定义脚本,将部署作为最终构建步骤(或链接步骤)。

我什么时候可以简单地使用 Ansible?

如果您只需要“部署”而不需要构建/测试,Ansible 可能就足够了。例如,您可以从命令行或使用 Ansible Tower 运行部署。这对于小型项目、静态站点等非常有用。

它们如何协同工作?

一个好的组合是使用 Jenkins 来构建、测试和保存工件。添加一个步骤来调用 Ansible 或 Ansible Tower 来处理实际的部署过程。这使得 Ansible 能够处理机器配置,并让 Jenkins 处理 CI 流程。

Jenkins 的替代方案是什么?

我强烈推荐Thoughtworks Go (不要与 Go 语言混淆)而不是 Jenkins。其他包括 CruiseControl、TravisCI 和 Integrity。

关于jenkins - Ansible 是否可以替代 Hudson/Jenkins 等 CI 工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25842718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com