Jenkins
Jenkins 是一款高人气、备受业内认可的开源自动化服务器。Jenkins 可以帮助简化 CI/CD 环境设置,并通过自动化技术加速软件开发。
什么是 Jenkins?
Jenkins 是一款高人气、备受业内认可的开源自动化服务器。Jenkins 可以帮助简化 CI/CD 环境设置,并通过自动化技术加速软件开发。虽然还是需要为各个步骤创建脚本,但使用 Jenkins,我们可以将整个管道纳入自动化流程。Jenkins 的编程语言为 Java,提供了 1700 多个插件/集成,海量资源帮助开发人员创建合适的 CI/CD 环境。Jenkins 发展已久,但目前仍然是最流行的 CI/CD 解决方案,其丰富的社区资源至今蓬勃兴盛。
Jenkins 的发展历史
Jenkins 创建于 2004 年,当时的名称为 Hudson。起初,Jenkins 只是一个 CI 工具,由 Sun Microsystems 公司的工程师 Kohsuke Kawaguchi 开发。 Kawaguchi 想要找到一种有效的解决方案,尽快搜索因错误而中断的构建。他想到可以在代码提交到存储库之前进行测试,这样就能知道自己的代码签出了。Kawaguchi 的解决方案在同事和团队中获得了一定认可后,他以 Jenkins 的名义将其开放给行业,这就是 Jenkins 的历史。从 CI 工具开始发展,现在,Jenkins 也成为了一个软件交付工具(CD)。
Jenkins 如何工作
在 Jenkins 的帮助下,开发人员和发布经理可以不断地构建、测试软件、集成更改,并顺滑无畅地运行自动化 CI/CD 进程。Jenkins 与许多部署和测试工具集成,促进持续交付进程,并帮助整个软件开发、交付过程实现自动化。
立即试用
获取免费 LicenseJenkins 集成/插件
如上所述,Jenkins 拥有 1700 多个集成/插件,在部署、开发和测试中提供不同的功能,帮助团队实现更优质、更全面的产品。Jenkins 中的大多数任务都使用 Jenkins 集成,其中包括 Jira、GitHub Pull-Request-Builder、Kubernetes、Maven、microsoftexcel、Google-Drive、Gmail 等等。使用 Jenkins 的海量集成功能,我们只需从集成列表中单击 install。Jenkins 与其他语言以及源代码库的组合也数不胜数,几乎涵盖了目前市场上所有资源。
Jenkins 共享库
Jenkins 库或共享库(JSL)可以帮助我们避免在不同管道中重复使用代码(复制粘贴的后果)。对于代码中存在公共模式(例如代码复查)或不同团队使用相同代码的情况,我们只需将公共部分提取出来,存入共享库,就可以重复使用了。此外,如果想对代码进行更改,只需在共享库修改一次就可以,而无需重复更改。
共享库是用 groovy 脚本编译的。创建共享库,首先需要创建一个空项目,将其添加到 Git 仓库中,在其中创建一个 Vars 文件夹。导航到该 Vars 文件夹,创建带有 groovy 扩展名的文件。
Jenkins 优势
- 社区资源庞大且充满活力
- 免费
- 易于安装和设置
- 提供了 1000 多个插件
- 与大部分重要平台兼容
Jenkins vs Bamboo
Jenkins 和 Bamboo 的第一个显著区别是,Jenkins 是一个开源工具,而 Bamboo 是一个商业工具。因此,Jenkins 是免费的,而 Bamboo 是付费的解决方案。另外,Jenkins 的插件资源比 Bamboo 丰富很多,这些插件涵盖了产品的大部分功能。不过,作为一个商业解决方案,Bamboo 对企业提供的服务很多,支持力度很大,反之,Jenkins 因为主要由社区驱动,服务支持可能不太理想。想了解更多信息,请查看我们对 Jenkins和Bamboo 的深入比较。了解更多信息,请查看我们对 Jenkins vs TeamCity 和 Jenkins vs Azure DevOps 的对比分析。
Jenkins 与 Incredibuild
Incredibuild 与 Jenkins 集成,帮助用户利用 Jenkins 节点,将计算进程分发至网络或公有云中的其他机器中。Incredibuild 将每个 Jenkins 节点转换成一台拥有成百上千个内核的超级计算机,全马力加速耗时任务进程,如编译、单元测试、QA脚本、代码分析、打包、资产创建等等。点击查看 Incredibuild 和 Jenkins 集成。