云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

中间件_多线路虚拟主机_价格

小七 141 0

与詹金斯的多租户

概述随着Jenkins使用量的增加,您可能会将Jenkins环境扩展到新的团队成员,甚至可能扩展到新的团队或部门。例如,在一个开发团队中开始使用Jenkins,然后将Jenkins扩展到一个质量保证团队,为开发团队构建的应用程序自动化测试,这是一个相当普遍的趋势。或者,您的公司已经在使用Jenkins,而您的团队(DevOps或共享工具类的团队)有一个任务,就是将Jenkins作为一个共享产品提供给更多的用户团队。不管怎样,扩展表明您的团队正在自动化更多的开发过程,这是一个好迹象。不用说,组织已经看到很多成功的例子,用Jenkins自动化他们的开发工具链,允许他们的团队专注于更高的价值,创新的工作,并减少浪费在日常工作上的时间任务。不毕竟,有人想要这个(无论如何,没有开发经理或scrum大师):-xkcd.com/303/At同时,如果没有计划,扩展的目的是将这些成功扩展到更多的团队,可能会产生意想不到的后果,并导致瓶颈、停机和痛苦。除了避免痛苦之外,你还可以采取积极主动的措施来进一步提高效率好吧。什么是多租户吗?为了本文的目的,让我们为Jenkins定义多租户:Jenkins的多租户意味着在同一个Jenkins环境中支持多个用户、团队或组织,并对环境进行分区相应的。为什么去多租户?您可能会问--"Jenkins很容易启动和运行;为什么不创建一个新的Jenkins实例?"在某种程度上,我同意!Jenkins和java-jar一样简单詹金斯战争,对吧?这也许是真的,但许多团队都是以这样或那样的方式联系在一起的……如果两个相关但不同的团队或部门在相关的组件上工作,那么他们最好能够访问同一个Jenkins数据。实施詹金斯——至少,很好地实现了这一点——需要深思熟虑。虽然启动一个新的Jenkins实例确实很容易,但是如果使用Jenkins的现有团队已经有了一个很好的监控策略,或者在Jenkins实例上附加了一组管理良好的slave节点,那么重用一个管理良好的Jenkins实例似乎是一个很好的起点。我是说,谁愿意在周末为詹金斯戴传呼机?为Jenkins在组织中的重用建立一个有效的策略可以帮助降低成本,提高利用率,增强安全性,并确保在环境。什么功能可以用来设置多租户吗?当您开始扩展您的Jenkins使用时,有许多现有特性可用于帮助:视图视图Jenkins核心的特性允许您在主屏幕上定制插件和选项卡的列表,以便在使用多租户Jenkins时获得更好的用户体验instance.folders文件夹插件,由CloudBees内部开发,对于优化多租户的Jenkins环境,它甚至比视图更强大。与视图不同,文件夹实际上为詹金斯。这个例如,新上下文允许创建特定于文件夹的环境变量。在文档中:"您可以[也]创建任意级别的嵌套文件夹。文件夹是命名空间感知的,所以文件夹A中的作业A在逻辑上与文件夹B中的作业A不同。分布式构建如果您还没有使用Jenkins分布式构建,那么应该使用它!使用分布式构建,Jenkins可以在远程计算机(从节点)上执行构建作业,以保持Jenkins web应用程序的性能本身。如果你把你的詹金斯环境扩展到更多的团队,这就更有理由专注于保留硕士学位表演。甚至更好的是,分布式构建允许您设置能够当共享Jenkins环境时,您的分布式团队可能需要(Java、.NET、iOS等)清理作业来构建各种类型的应用程序,系统清理任务变得越来越多关键。丢弃旧版本和为生成设置合理的超时将有助于确保生成资源可供团队。证书APIJenkins允许跨作业和节点管理和共享凭证。可以在文件夹级别设置和保护凭据,从而允许特定于团队的安全设置和数据。强调多租户模型当你扩展你的詹金斯使用,你会发现有一些压力点,它可以。。。与詹金斯大师同住一个不太理想团队:全局配置对于插件,有些插件只支持全局配置。例如,Maven插件的构建步骤默认选项是全局的。类似地,Subversion SCM插件的版本配置是全局的设置。如果两个团队想用不同的方式使用同一个插件,没有太多的选择(更糟糕的是:同一个插件的不同版本),有些插件确实需要在安装时重新启动。此外,所有插件都需要Jenkins重新启动更新。一些插件具有已知的性能、向后兼容性和安全限制。这些可能是一个团队可以接受的,但可能不是所有的用户。奴隶重用当多个团队使用同一个slave时,它们通常共享对它们的访问。如上所述,在执行之后必须注意清理从属节点工作。安全对工作区中敏感作业或数据的访问是挑战.鳞片状任何软件应用程序,一个詹金斯大师只能支持这么多的构建和工作配置。而确定实际的最大配置很大程度上取决于环境(可用的系统资源、作业的数量和性质等),Jenkins倾向于在不超过100-150个活动、配置的情况下执行最佳执行人。而我们见过一些詹金斯的例子拥有30000多个工作配置,詹金斯将需要更多的资源和启动时间将随着工作数量的增加而增加增加。单身失败点如果越来越多的团队使用同一个Jenkins实例,当发生中断时,影响将变为更大。什么时候Jenkins需要重启插件更新或核心升级,会有更多的队伍受影响。如团队越来越依赖Jenkins,尤其是在开发以外的过程自动化方面(例如:QA、安全性和性能测试自动化),詹金斯的休息时间变少了可以。小费希望本文通过阐述在Jenkins中设置多租户时遇到的一些压力点,为您节省一些时间。最终,您将到达一个临界点,运行一个单一的、多租户的Jenkins master可能不值得。因此,我们建议您制定一个策略,将多租户策略提升到下一个层次:创建多个Jenkins大师。为了每个组织的答案都有点不同,但是CloudBees建议建立一个创建多个Jenkins大师的过程。在后续文章中,我们将重点介绍CloudBees-Jenkins平台如何帮助管理多个Jenkins主机。有了CloudBees-Jenkins操作中心,您的多租户策略也可以简单地扩展到masters,使您的Jenkins masters成为同一Jenkins平台的一部分。我们还将分享一些成功的策略(和一些不太成功的策略),以确定何时拆分您的大师,安迪Pemberton CloudBees解决方案架构高级总监