Jenkins为什么适合开发团队?
Posted CTO老王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins为什么适合开发团队?相关的知识,希望对你有一定的参考价值。
当主要开发人员到达时,他开始阅读所有错误消息并发现问题。他马上修好了,错误就不复存在了。什么地方出了错?Ops家伙在食谱中跳过了非常重要的一步。即使我们有最详尽的文档解释如何进行部署,但我们失败了,因为我们引入了人工干预过程。但我们知道有更好的东西:我们听说过詹金斯。
Jenkins是一个开源平台,始于2004年,主要由CloudBees维护 。(GitHub仓库位于 此处。)这是一个最常用于构建的自动化服务器,但它也可以自动执行各种任务。它支持所有常见的版本控制工具,如Git,并且可以使用插件扩展功能。您可以将其配置为通过推入Git自动触发,或通过类似cron的机制进行调度。
这是最简单的开始方式
我们已经有一些用于部署的自动化脚本。我们失踪的那部分是按照正确的顺序继续运行它们的东西。使用Jenkins,您使用的操作系统或语言无关紧要。它在Linux和Windows中运行,您可以插入所需的任何工具。Jenkins是用Java编写的,因此唯一的先决条件是安装Java。(您可以在此处下载Jenkins安装程序 。)
您可以从一个非常简单的工作开始,这是您的过程中的任务或步骤。您可以从一个作业开始,但建议是有多个作业(例如,每个脚本一个),这样您就可以非常轻松地识别问题并避免每次在某个过程中出现故障时重新开始。
要开始充分利用Jenkins,您需要做的第一件事就是记录每次需要部署时执行的步骤集。列出每个环境的服务器,源代码存储库以及应用程序工作的所有依赖项。通过这样做,您将确定Jenkins服务器上需要哪些工具,您的工作需要哪些访问权限或权限等。
你几乎可以做任何事情
在专用服务器上安装Jenkins后,您可以开始安装所需的一切。可以将Jenkins安装架构为具有可用于对用户进行身份验证,管理安全性和权限以及创建不同应用程序作业所需的文件夹结构的主服务器。因为您可能拥有不同类型的技术,所以最好将一个Jenkins代理连接到主服务器,用于每个业务线或每个不同的堆栈(例如,Windows for .NET或Linux for Java)。
要拥有Jenkins代理,您只需要在服务器上安装Jenkins,然后将其注册到主服务器。代理必须具有执行您为其选择的作业所需的所有依赖项(例如,Git,Java等)。通过执行此类配置,您可以使团队自动化具有不同版本堆栈的应用程序(例如,Java 7和8)。准备好此配置后,您就可以选择Jenkins作业的运行位置。
请注意,截至撰写本文时,您可以在Jenkins服务器上安装1,403个插件。Jenkins安装只提供基本要点:最少的插件集。但是,如果您想要通过电子邮件或Slack通知团队任何工作的状态,构建.NET应用程序,使用您的云提供商等等,您需要安装额外的插件。(你可以在这里找到你需要的所有插件 。)有很多可供你使用的,当我需要自动化任何东西时,我会开玩笑说“必须已经有一个Jenkins插件。”
缩短部署到任何环境的时间
每个开发人员的梦想都是推动代码并将其投入生产而不会有任何痛苦。部署到任何环境(主要是生产环境)应该是一项无聊的活动。到达那里需要时间,但这是可能的。当您了解我们作为开发人员的主要目标是为公司提供价值时,您将开始关注增加该价值的因素:代码。我们都目睹并经历了将每个人的变化整合到代码中并将其推向生产的痛苦。可以避免。
我们生活在一个不断变化的世界里,如果你不适应,你就会死。提高向用户推送新变更的速度和频率是成功的主要决定因素。假设您刚刚推送了影响用户的内容。你对此有多快反应?您是否有一种简单,快速,可靠的方式来恢复或推动新变化?詹金斯可以帮助您对这些问题作出积极回应。
当然,詹金斯本身并不能解决你所有的问题。例如,您将始终需要一组自动化测试(如单元测试,集成测试和冒烟测试),以确保您不会将用户暴露给错误。
一致性和重复性
避免生产停机的最佳方法之一是避免推动新的变化。服务器可能出现很多问题。可能存在CPU峰值,内存泄漏,存储容量等各种问题。但没有什么比得到实时新功能或修复。当您拥有一致且可重复的做事方式时,您可以将风险降至最低。
使用Jenkins,您可以使用他们的所有部署管道编写脚本。Jenkins管道是一组插件,可帮助您将交付管道作为代码。它使您能够保持所有脚本编写,并在需要新内容时轻松查看。它还让您有信心,因为知道如果有人改变了詹金斯的工作并不重要; 您将始终从源代码管理中获取最新版本。你处理代码的方式几乎一样,对吗?这将是开始实施持续交付的第一步。
没有理由不自动部署部署
一旦您拥有自动,一致,可重复且可靠的代码更改方式,您和您的团队就可以专注于真正重要的事情:提供价值。Jenkins只是展示部署工作流程图形所需的工具,因此您可以直观地了解团队如何向最终用户推送更新。查看 Jenkins 并开始编写您的交付管道。当生产出现问题时,你不想一直把头撞在墙上。当我们人类知道我们造成了伤害时,我们往往会吓坏并失去常识。另一方面,机器将继续做你告诉他们做的事情。
————————————————————
推荐阅读:
以上是关于Jenkins为什么适合开发团队?的主要内容,如果未能解决你的问题,请参考以下文章