Jenkins 是目前最经常使用的持续集成工具,拥有近 50% 的市场份额,它仍是不少技术团队的第一个使用的自动化工具。可是随着自动化领域的持续发展,Jenkins 逐渐暴露出了一些问题,例如缺少功能、维护问题、依赖关系和扩展问题等等。git
这些问题促使咱们寻找替代方法。这就是为何在本文中,咱们提供了用于持续集成的最多见的Jenkins替代品列表。docker
Buildmasters是由Inedo研发的Jenkins替代品,它可使开发者把软件发布到任何环境。该工具为不一样的平台提供持续集成功能,使组织能够建立本身的软件发布管理平台。团队能够处理本身的应用程序,并独立部署到其环境中。数据库
不只如此,它还能够防止发布未经测试的软件。用户对它的简单性感到很是满意。安全
https://inedo.com/buildmaster...服务器
Microtica是一个DevOps自动化工具,涵盖了整个软件交付过程,从构建云基础架构到使用Kubernetes向云交付应用程序和服务。Microtica的即用型( ready-to-use )组件为用户提供了可重复使用的代码段,而且能够帮助你在几分钟内建立基础结构。架构
借助微服务生成器,开发人员能够自动建立微服务。借助集成的Kubernetes仪表板,他们只需单击几下便可建立可扩展的应用程序。微服务
Microtica的流水线定义了每一个组件和微服务的工做流程。用户能够随时自动或手动触发它们,以大体了解其构建过程。他们能够执行全部操做,而无需离开Microtica Web门户,每次更改都会有Slack通知。工具
最后,Microtica容许开发人员自动化设置其睡眠周期,从而下降AWS成本。一旦他们激活了节能模式( saving mode ),Microtica就会自动运行并防止过分支出。并且,全部节省均可以在节省成本的仪表板上找到。gitlab
GitLab是基于云的CI平台,可以让开发团队更有效地处理其多样化的工具。它使组织能够经过集中式的版本控制系统安全地计划,构建和管理代码。此外,GitLab使用户可以使用Docker和Kubernetes来处理组件,处理容器以及打包应用程序和依赖项。
GitLab易于集成。可是,它有时可能会有一些烦人的错误和局限性,以及在实现彻底自动化方面缺乏一些功能。
Circle CI也是Jenkins替代产品之一,可在任何环境(例如Python API服务器或Docker集群)中运行。Circle CI工具消除了漏洞并加强了应用程序的一致性。它支持多种语言,例如C ++,NET,JavaScript,PHP,Ruby和Python。此外,当触发新的构建时,能够自动取消排队和正在运行的构建。它能够与GitHub,GitHub Enterprise和Bitbucket集成。
根据TrustRadius上的用户称,CircleCI的最大优点是自动化构建,可是有时流水线做业可能会花费很长时间。
Atlassian的Bamboo是一款持续集成的服务器,可自动在一个地方建立,监视和发布。它能够轻松地与JIRA应用程序和Bitbucket集成。并且,Bamboo与Docker,Git,SVN和Amazon S3存储集成。
Bamboo根据在存储库中检测到的更改,它能够触发Bitbucket的构建并推送通知。它既能够托管,也能够本地部署。
使用者说Bamboo的构建过程的可见性很好,可是一些概念和集成尚不清楚。
https://www.atlassian.com/sof...
TravisCI是一项持续集成托管服务,开发人员可使用它来开发和验证GitHub和Bitbucket托管的应用程序。它能够测试全部请求,以确保不会发布未经测试的代码。你只需登陆GitHub,便可设置你的项目,包括数据库。
TravisCI很是适合一个小型项目,而且构建速度很快。可是,当你有一个较大的项目须要照顾依赖关系以及构建的性能时,可能会遇到一些问题。
Semaphore是Jenkins替代产品之一,支持GitHub,Kubernetes,iOS,Docker,Kubernetes的整个CI/CD流程,而且预先安装了100多种工具。
Semaphore可使任何持续交付流水线自动化,支持可自定义的阶段,还能够并行执行,管理三方依赖等。
Semaphore构建很是快,平台也易于设置。可是,用户说UI有时会使人困惑,而且持续部署的功能有限。
https://semaphoreci.com/product
Buddy是一个CI/CD平台,可经过简单的UI/UX减小配置和维护Jenkins的工做,从而使构建和部署应用程序变得很是简单。
你能够经过具备YAML导出功能的GUI,在15分钟内执行配置。它可以完美的支持Docker和Kubernetes,可在云和本地环境中使用。
Buddy的设置很是简单,可是其费用过高了。
Drone.io是一个CD平台,使用简单的YAML配置文件和docker-compose在Docker容器中建立和执行流水线。Drone.io能够在单独的Docker容器中执行每一个流水线步骤。
Drone.io是Jenkins替代产品之一,易于安装,是企业的理想解决方案,但它缺少某些功能,须要进一步定制开发。
GoCD是开源的持续集成服务器。你可使用它来可视化动态工做流程。此CI工具使用优雅的设计来构建CD流水线。
GoCD支持并行和顺序执行,并能够随时部署任何版本。它拥有一个积极支持的社区。
GoCD目前不可以在多个服务器上扩缩容,可是它的优势之一是你能够自定义本身的流程。
TeamCity是JetBrains的CI/CD工具。它容许用户在提交代码以前构建,监视和运行自动化测试,从而维护代码库的干净。
TeamCity提供了全面的VCS集成,即便没有任何内部版本运行,也能够始终保持CI服务器正常运行。它能够与Amazon EC2,Microsoft Azure和VMware vSphere集成。
TeamCity是一个现代,健壮和透明的解决方案,为你的开发人员提供了友好的流水线环境。可是,你须要注意服务器配置。
https://www.jetbrains.com/tea...
Buildkite是一个开源平台,你能够在其中运行CI流水线。它提供了代码控制集成,聊天功能。你能够将其构建为代码系统,从而能够经过其Web平台监视和控制全部流水线。
可是,Buildkite平台缺乏一些DevOps流程,例如源代码管理和安全测试。
Zuul是一个开源CI工具,主要解决了Jenkins关于CI测试的问题。Zuul和Jenkins的主要区别在于,Zuul能够跨多个存储库测试代码。除此以外,Zuul的执行速度也很快。
近年来,Zuul已成为自动合并,构建和测试对项目所作的任何新更改的工具。对于企业级组织来讲,这颇有必要。
Jenkins是许多开发团队仍在使用的工具。可是,它再也不是惟一的CI工具。不断寻求改善你的工做方式,意味着要使用多种方法,这些方法将帮助你更轻松,更快,更一致地完成工做。在使用传统方式时,不要忽视创新。
原文:https://dzone.com/articles/13...