都2023年了,你还在用Jenkins?赶快看看这些替代方案吧!
mall学习教程官网:macrozheng.com
Jenkins 是一个广泛用于持续集成和持续交付(CI/CD)的开源工具,可以运行在多个操作系统上,插件生态系统非常丰富,有大量的文档、教程和社区资源。
我们不得不肯定Jenkins的优点。但为什么对它说再见呢,相信使用过Jenkins的人员都有一定体会。
为什么不用Jenkins
- 对于初学者来说,Jenkins 的配置可能有一定的学习曲线,配置太复杂了。
- Jenkins 本身需要大量的服务器资源,对于个人开发者或者微小型公司来说,原本服务器资源就比较少,部署一个Jenkins就占了大部分服务器资源。
- 尽管 Jenkins 非常灵活,有很强大的插件,但某些高级功能可能需要额外的插件或自定义脚本来实现,这些插件和配置又额外增添了巨大的学习成本。
这或许是一个对你有用的开源项目,mall项目是一套基于 SpringBoot + Vue + uni-app 实现的电商系统(Github标星60K),采用Docker容器化部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能,功能很强大!
- 项目地址:https://github.com/macrozheng/mall
- 视频教程:https://www.macrozheng.com/video/
后台管理系统演示:
前台商城项目演示:
Jenkins的替代品
前段时间实在是受不了这个Jenkins了,装完Jenkins,还需要git,maven,node,还得把这些东西配到Jenkins上;
都有这东西了,我直接写个脚本不就行了,为什么还用个Jenkins。。。
于是开始寻找Jenkins的替代品,要求:可触发自动构建,占用资源少,配置简单。
在网上寻找并试验了好多个产品。
1、GitLab
GitLab 是一个集成式的DevOps平台,提供代码托管、持续集成/持续交付 (CI/CD)、问题跟踪、代码审查、容器注册表和更多功能的综合解决方案。
- 一体化解决方案: GitLab 提供了一个综合的DevOps平台,集成了代码仓库、CI/CD、问题跟踪等功能,这意味着您可以在一个平台上管理整个开发和部署流程,减少了工具集成的复杂性。
- 强大的CI/CD功能: GitLab CI/CD 提供了强大的构建和部署功能,支持自动化测试、持续交付和部署到不同环境的流程。
- 易于使用: GitLab CI/CD 使用YAML文件来定义构建流程,这使得配置非常直观和可维护。同时,它还提供了可视化的构建流程编辑工具。
- 持续集成: GitLab CI/CD支持持续集成,每次代码提交时都可以触发构建和测试,确保代码的稳定性和质量。
- 自动化: 可以设置自动化的CI/CD流程,减少了手动干预的需求,提高了交付的速度和可靠性。
- 集成容器注册表: GitLab集成了Docker容器注册表,使得容器化应用程序的构建和部署更加便捷。
- 社区支持: GitLab 有一个庞大的用户社区,提供丰富的文档、插件和扩展,有助于解决问题和定制CI/CD流程。
如果你要求将代码部署到私有的git,这个简直完美,还自带CI/CD。
但是很遗憾,我对这点并不看重,而且Git Lab也需要进行简单的配置,并且占用资源较大。
2、TeamCity
TeamCity 是一种由 JetBrains 开发的持续集成和持续交付 (CI/CD) 工具,用于自动化构建、测试和部署软件项目。
- 易于设置: TeamCity 提供了一个直观的用户界面,使得配置和设置持续集成流程相对容易。它还支持使用 Kotlin DSL 来定义构建配置,从而使其可维护性更高。
- 强大的构建和部署功能: TeamCity 支持各种构建和部署工作流,包括编译、测试、打包、部署到不同环境和容器化应用程序。
- 多环境支持: TeamCity 允许您轻松管理多个环境,从开发到预生产和生产环境。
- 自动触发: TeamCity 可以自动触发构建和部署过程,例如,每次代码提交或分支合并时都可以自动开始构建和测试。
- 广泛的集成选项: TeamCity 支持与各种版本控制系统(如Git、Subversion等)和外部工具(例如JIRA、Docker等)的集成。
- 内置报告和分析: TeamCity 提供详细的构建报告、分析和历史记录,帮助团队更好地了解项目的状态和性能。
- 可扩展性: TeamCity 具有丰富的插件生态系统,可以通过插件来扩展其功能,以满足特定需求。
作为 JetBrains 家族的产品,而且还免费使用。好多人都比较推荐这款工具作为自动化构建工具。
尝试了一下,可能没了解过这个工具的原因,还是感觉配置起来好复杂...
3、Buddy
Buddy 是一个CI/CD(持续集成/持续交付)工具,旨在简化和自动化软件开发和交付流程。
- 易用性: Buddy以用户友好的界面提供CI/CD工作流程的可视化配置,无需编写复杂的配置文件。这使得初学者和有经验的开发人员都能轻松使用它。
- 快速设置: Buddy提供了预定义的CI/CD模板,可用于常见的开发框架和语言,加速了工作流程的设置。
- 自动化: Buddy支持持续集成和自动化部署,确保代码更改的快速测试、构建和交付。
- 多环境支持: Buddy允许您轻松地设置和管理多个环境,例如开发、测试、预生产和生产环境。
- 多云支持: Buddy支持在各种云平台(如AWS、Azure、Google Cloud等)上进行部署,以满足不同项目的需求。
- 插件和集成: Buddy提供了丰富的插件和集成选项,可以与常用的工具和服务(如GitHub、GitLab、Docker、Slack等)集成,以实现更多功能和通知。
- 可扩展性: 您可以编写自定义脚本和命令来满足特定需求,增加了工作流程的灵活性。
相比于Team City,我反倒觉得这个工具更容易使用,构建快,占用资源也不是很多,我认为算是很好的Jenkins替代品了。推荐使用。
4、云效流水线
在我准备使用Buddy做为CI/CD工具的时候,我发现了这个阿里的云效流水线产品。
云效流水线 Flow 是一款企业级、自动化的持续集成和持续交付工具,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线的CI/CD全流程,帮助企业高质量、高效率的交付业务。
这个产品太适合我了,虽然它属于收费应用,但是其免费额度 1800 分钟/月,完全足够使用了。而且,配置简单、不需要占用服务器资源、不需要安装和配置各种环境。
1、新建流水线
2、编排流水线
3、运行流水线
4、查看流水线运行结果
在线配置,流程清晰,不占用服务器资源,适合个人开发者和微小型公司使用。推荐使用。
小结
总体来说,GitLab是一个功能齐全、易于使用且综合的DevOps平台,适合需要私有部署git的团队和组织使用。
TeamCity 是一款强大而灵活的持续集成工具,适合中大型项目和团队。
Buddy是一个易于使用和快速设置的CI/CD工具,特别适合初学者和中小型团队。
云效流水线配置简单,不占用服务器资源,适合个人开发者和中小型团队。
Github上
标星60K
的电商实战项目mall,全套 视频教程(2023最新版) 已更新完毕!全套教程约40小时,共105期
,通过这套教程你可以拥有一个涵盖主流Java技术栈的完整项目经验
,同时提高自己独立开发一个项目的能力
,下面是项目的整体架构图,感兴趣的小伙伴可以点击链接 mall视频教程 加入学习。整套 视频教程 的内容还是非常完善的,涵盖了mall项目最佳学习路线、整体框架搭建、业务与技术实现全方位解析、线上Docker环境部署等内容,具体大纲可以参考下图,你也可以点击链接 mall视频教程 了解更多内容。
推荐阅读
- 69K Star!这是我见过最强的开源电商系统 !!
- Github标星60K!一套完整的项目实战教程来了,主流Java技术一网打尽!
- 看了我项目中购物车、订单、支付一整套设计,同事也开始悄悄模仿了...
- 订单系统就该这么设计,稳的一批!
- 支付系统就该这么设计,稳的一批!
- 权限系统就该这么设计,稳的一批!