Jenkins 是目前最常用的持续集成工具,拥有近 50% 的市场份额,它还是很多技术团队的第一个使用的自动化工具 。但是随着自动化领域的持续发展,Jenkins 逐渐暴露出了一些问题,例如缺乏功能、维护问题、依赖关系和扩展问题等等 。
本文将为大家介绍几个持续集成中常用的 Jenkins 替代方案 。
BuildMaster
文章插图
项目地址:http://inedo.com/buildmaster
Inedo 的 BuildMaster 是 Jenkins 替代方案之一,开发人员能够用它将软件发布到各种环境,为各种平台提供全面的持续集成能力,使团队有能力创建私有的自助发布管理平台,单独处理自己的应用程序并私有部署 。更重要的是,避免自动发布未经测试的软件 。因为无需精通流水线即可使用,所以用户对它的简洁性都非常满意 。
Microtica
文章插图
项目地址:http://microtica.com/
Microtica 是 DevOps 自动化工具,从创建云基础设施到使用 Kubernetes 交付应用程序和服务,覆盖了整个软件交付过程 。Microtica 的开箱即用组件为用户提供可重用的代码片段,无需额外编码即可帮你在几分钟内搭建起底层架构 。
通过微服务生成器,开发人员可以自动化地创建微服务 。通过已集成的预上线 Kubernetes 和本地 Kubernetes 仪表板,只要点一点鼠标就能创建出可伸缩的应用程序 。
Microtica 流水线定义每个组件和微服务的工作流 。用户可以随时自动或手动触发它们,获取整个构建的概览 。用户可以在 Microtica 网站内执行所有的操作,每次变更都有 Slack 通知 。
最后一点,Microtica 允许开发人员设置自动化的休眠周期,降低 AWS 成本 。一旦启动节约模式,Microtica 会自动运行,防止过度消费 。而且,节省了多少钱还可在成本仪表板中看到 。
GitLab
文章插图
项目地址:http://about.gitlab.com/
GitLab 是在线 CI 平台,开发团队可以有效地使用各种开发工具,更快、更安全 。通过集中统一的版本控制系统进行规划、构建和管理代码 。此外,GitLab 使用户可以使用 Docker 和 Kubernetes 来处理构建输出、容器、应用打包和依赖项 。有人表示 GitLab 很容易集成 。但是,它有时会有一些令人讨厌的 bug 和限制,也缺少一些完全自动化的特性 。
CircleCI
文章插图
【jenkins cicd jenkins】
项目地址:http://circleci.com/
CircleCI 是一种可伸缩的 Jenkins 替代方案,它可以在任何环境(如 Python 接口服务或 Docker 集群)中运行 。它消除了不稳定性并增强了应用程序的一致性 。它支持多种语言,比如 C++、.NET、JavaScript、PHP、Ruby 和 Python 。当最近的构建触发后,可自动取消队列中以及正在构建的任务 。它可以与 GitHub、GitHub 企业版和 Bitbucket 集成 。TrustRadius 用户说,自动构建是 CircleCI 的最大优势,但有时候任务太耗时 。
Bamboo
文章插图
项目地址:http://www.atlassian.com/software/bamboo
Atlassian 的 Bamboo 是持续集成服务,可以自动从一个地方创建、监听和发布应用 。它与 JIRA 应用程序和 Bitbucket 集成很方便 。此外,Bamboo 集成了 Docker、Git、SVN 和 Amazon S3 存储 。基于对仓库中变更的检测,可触发构建并推送来自 Bitbucket 的通知 。它既可托管,也可在本地使用 。G2 用户 说,Bamboo 构建过程的可视化很棒,但是一些术语和集成还不太容易理解 。
TravisCI
文章插图
项目地址:http://travis-ci.org/
TravisCI 是持续集成托管服务,开发人员可以使用它来开发和验证 GitHub 和 Bitbucket 托管的应用程序 。它可以测试所有 pull 请求,以确保不会发布出去未测试过的代码 。用户可以登录 GitHub 来创建项目,包括配置快速激活的预安装数据库和资源 。有评论说,TravisCI 非常适合想要快速开始构建的小项目 。然而,在意构建的依赖关系、性能和可靠性的大项目,可能会遇到一些问题 。
Semaphore
文章插图
项目地址:http://semaphoreci.com/product
Semaphore 是 Jenkins 替代方案之一,它覆盖整个 CI/CD 过程,支持 GitHub、Kubernetes、iOS、Docker,并预装了 100 多个工具 。它可以自动化任何持续交付流水线,并提供自定义步骤、并行执行、依赖管理等 。有人表示,Semaphore 构建非常快速,而且操作简单 。然而,有用户表示,界面有时会令人困惑,而且部署流水线的方法有限 。