首页 文章详情

都2021年了,你还在用Jenkins?赶快看看这些替代方案吧!

JAVA公众号 | 238 2021-06-27 16:11 0 0 0
UniSMS (合一短信)

eeae13f49572e80798a0f5106133c90c.webp 文末送书活动 正在继续 eeae13f49572e80798a0f5106133c90c.webp

Jenkins 是目前最常用的持续集成工具,拥有近 50% 的市场份额,它还是很多技术团队的第一个使用的自动化工具。但是随着自动化领域的持续发展,Jenkins 逐渐暴露出了一些问题,例如缺乏功能、维护问题、依赖关系和扩展问题等等。

本文将为大家介绍几个持续集成中常用的 Jenkins 替代方案。

1、BuildMaster

7a18f649ee69c6313822e6a809d750de.webp图片

项目地址:https://inedo.com/buildmaster

Inedo 的 BuildMaster 是 Jenkins 替代方案之一,开发人员能够用它将软件发布到各种环境,为各种平台提供全面的持续集成能力,使团队有能力创建私有的自助发布管理平台,单独处理自己的应用程序并私有部署。更重要的是,避免自动发布未经测试的软件。因为无需精通流水线即可使用,所以用户对它的简洁性都非常满意。

2、Microtica

107a3a18f7d0e4f5ed8dd552c1a0c3d1.webp图片

项目地址:https://microtica.com/

Microtica 是 DevOps 自动化工具,从创建云基础设施到使用 Kubernetes 交付应用程序和服务,覆盖了整个软件交付过程。Microtica 的开箱即用组件为用户提供可重用的代码片段,无需额外编码即可帮你在几分钟内搭建起底层架构。

通过微服务生成器,开发人员可以自动化地创建微服务。通过已集成的预上线 Kubernetes 和本地 Kubernetes 仪表板,只要点一点鼠标就能创建出可伸缩的应用程序。

Microtica 流水线定义每个组件和微服务的工作流。用户可以随时自动或手动触发它们,获取整个构建的概览。用户可以在 Microtica 网站内执行所有的操作,每次变更都有 Slack 通知。

最后一点,Microtica 允许开发人员设置自动化的休眠周期,降低 AWS 成本。一旦启动节约模式,Microtica 会自动运行,防止过度消费。而且,节省了多少钱还可在成本仪表板中看到。

3、GitLab

110bed52763309dbb7abdcf57f8f437e.webp图片

项目地址:https://about.gitlab.com/

GitLab 是在线 CI 平台,开发团队可以有效地使用各种开发工具,更快、更安全。通过集中统一的版本控制系统进行规划、构建和管理代码。此外,GitLab 使用户可以使用 Docker 和 Kubernetes 来处理构建输出、容器、应用打包和依赖项。有人表示 GitLab 很容易集成。但是,它有时会有一些令人讨厌的 bug 和限制,也缺少一些完全自动化的特性。

4、CircleCI

e1b6480986a5d884a9ccf27dfe01d722.webp图片

项目地址:https://circleci.com/

CircleCI 是一种可伸缩的 Jenkins 替代方案,它可以在任何环境(如 Python 接口服务或 Docker 集群)中运行。它消除了不稳定性并增强了应用程序的一致性。它支持多种语言,比如 C++、.NET、JavaScript、PHP、Ruby 和 Python。当最近的构建触发后,可自动取消队列中以及正在构建的任务。它可以与 GitHub、GitHub 企业版和 Bitbucket 集成。TrustRadius 用户说,自动构建是 CircleCI 的最大优势,但有时候任务太耗时。

5、Bamboo

c4caffbc457499a7475039567d1a8e67.webp图片

项目地址:https://www.atlassian.com/software/bamboo

Atlassian 的 Bamboo 是持续集成服务,可以自动从一个地方创建、监听和发布应用。它与 JIRA 应用程序和 Bitbucket 集成很方便。此外,Bamboo 集成了 Docker、Git、SVN 和 Amazon S3 存储。基于对仓库中变更的检测,可触发构建并推送来自 Bitbucket 的通知。它既可托管,也可在本地使用。G2 用户 说,Bamboo 构建过程的可视化很棒,但是一些术语和集成还不太容易理解。

6、TravisCI

01a1d66b14a8810011fc5cca6d587852.webp图片

项目地址:https://travis-ci.org/

TravisCI 是持续集成托管服务,开发人员可以使用它来开发和验证 GitHub 和 Bitbucket 托管的应用程序。它可以测试所有 pull 请求,以确保不会发布出去未测试过的代码。用户可以登录 GitHub 来创建项目,包括配置快速激活的预安装数据库和资源。有评论说,TravisCI 非常适合想要快速开始构建的小项目。然而,在意构建的依赖关系、性能和可靠性的大项目,可能会遇到一些问题。

7、Semaphore

37a413daf40d5caeae864d2e089ddd56.webp图片

项目地址:https://semaphoreci.com/product

Semaphore 是 Jenkins 替代方案之一,它覆盖整个 CI/CD 过程,支持 GitHub、Kubernetes、iOS、Docker,并预装了 100 多个工具。它可以自动化任何持续交付流水线,并提供自定义步骤、并行执行、依赖管理等。有人表示,Semaphore 构建非常快速,而且操作简单。然而,有用户表示,界面有时会令人困惑,而且部署流水线的方法有限。

8、Buddy

fca3cca76508ee05d1b7c03ff3fbcb02.webp图片

项目地址:https://buddy.works/

Buddy 是 CI/CD 平台,它通过简单的 UI/UX 来减少配置和维护 Jenkins 的工作量,这使得创建、评估和部署应用程序变得非常简单。

您可以在 15 分钟内通过具有即时 YAML 导出功能的图形化界面完成配置。它可以在云端和本地使用,并提供完整的 Docker 和 Kubernetes 支持。有用户反馈,Buddy 很容易操作,但是价格太贵。

9、Drone.io

b82c9b9e665b738e4623e4dbb65c2ac3.webp图片

项目地址:https://drone.io/

Drone.io 是自助 CD 平台,它使用简单的 YAML 配置文件和 Dockercompose 的超集在 Docker 容器中创建和执行流水线。运行时会自动下载独立的 Docker,它执行容器中的每个流水线步骤。Drone.io 有 Docker 镜像,可以从 Dockerhub 下载。用户反馈,Drone.io 是 Jenkins 替代品之一,易于操作,是很好的企业解决方案,但是缺少一些特性,需要进一步定制。

10、GoCD

6627205a6bda175a66f696500efc8732.webp图片

项目地址:https://www.gocd.org/

GoCD 是 ThoughtWorks 的持续集成开源服务。您可以使用它来简化动态工作流的模拟和可视化。它提供持续交付和优雅的设计来构建 CD 流水线,支持并行和顺序执行,可以随时部署任何版本,有活跃的支持社区。用户反馈,GoCD 与跨服务器扩展不兼容,但优点是可以自定义流程。

11、TeamCity

5e296f60a35bfdaf05927fd4e6e4a5a9.webp图片

项目地址:https://www.jetbrains.com/teamcity/

TeamCity 是 JetBrains 的 CI/CD 工具。它允许用户在代码提交之前构建、监视和执行自动化测试,从而维护干净的代码库。它提供了全面的 VCS 集成,使 CI 服务器始终保持正常运行,即使没有任何构建。它可以与 Amazon EC2、Microsoft Azure 和 VMware vSphere 集成。用户反馈,TeamCity 是现代化的、健壮的和开放的解决方案,为流水线提供开发人员友好的环境,但是需要仔细对待服务配置。

12、Buildkite

b6d50dbfbe4cef9390a18b4a26fcc8b5.webp图片

项目地址:https://buildkite.com/

Buildkite 是开源平台,可以在上面运行 CI 流水线。它提供了源码控制、聊天支持,并且不需要访问源码。你可以将基础设施作为代码系统来进行调度,从而使你可以通过他们的网页平台监视和控制所有流水线。然而,该平台缺少一些 DevOps 流程,比如源码管理和安全测试。

13、Zuul

31630b1799cb4b5a359b42f7bc0a4ddf.webp图片

项目地址:https://zuul-ci.org/

Zuul 是开源 CI 工具,主要解决 Jenkins 在 CI 测试中的问题,提供以最快的速度测试序列化的未来状态的能力。主要差异是,它可以测试多个仓库的代码,以确保如果某个变更破坏当前项目或其他项目,则不让该变更传递到生产环境中,称为 co-gating。

多年来,Zuul 已经成为自动合并、构建和测试项目变更的工具。对于企业用户来说,它是构建大量必须彼此同步工作的项目的理想选择。

14、结论

很多开发团队仍在使用 Jenkins,然而它不再是唯一的 CI 工具。不断改进工作方式,会有多种方法让你更轻松、更快、更一致地完成工作。固守传统或忽视创新,将失去竞争优势。

作者 | Marija Naumovska 

策划 | 田晓旭 

原文 | dzone.com/articles/13-jenkins-alternatives-for-continuous-integration






福利来了

赠送书籍
Python网络爬虫框架Scrapy从入门到精通

8d400d50aa20eb480bc2838063dd20ab.webp


书籍简介:

本书从Python主流框架Scrapy的简介及网络爬虫知识讲起,逐步深入到Scrapy进阶实战。本书从实战出发,根据不同需求,有针对性地讲解了静态网页、动态网页、App应用是如何爬取所需数据,以及Scrapy是如何部署分布式爬取,最后还介绍了用Scrapy + Pandas是如何进行数据分析及数据展示,让读者不但可以系统地学习Scrapy编程的相关知识,而且还能对Scrapy应用开发有更为深入的理解。
本书分为12章,涵盖的主要内容有Scrapy框架简介;Scrapy网络爬虫知识介绍;Scrapy开发环境的搭建;Scrapy架构及编程;Scrapy进阶;实战项目:Scrapy静态网页的爬取;实战项目:Scrapy动态网页的爬取;实战项目:Scrapy爬取App应用数据;Scrapy的分布式部署与爬取;分布式的实战项目;用Selenium框架测试网站;用Scrapy + Pandas进行数据分析。
本书内容通俗易懂,实例典型,实用性强,特别适合学习Python主流框架Scrapy的入门读者和进阶读者阅读,也适合数据分析与挖掘技术的初学者阅读,还适合相关培训机构的师生阅读。


今天「JAVA」联合「北京大学出版社」给大家带来4本Python网络爬虫框架Scrapy从入门到精通技术书籍福利,感谢北京大学出版社的大力赞助与支持!

抽奖规则:(本次活动使用腾讯官方抽奖助手)

0、抽奖截止时间:2021年7月2日20:001、必须是粉丝哦2、重要说明:中奖后请24小时内联系小编(小编微信:619531440), 超时就作废啦!!!

3、扫以下二维码回复“好书”即可获取抽奖码

4defa0e207e87d0fdfbe71416050d083.webp

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter