当前位置:主页 > 大数据 > 正文

香港服务器_虚拟_物联网智能建筑

时间:2021-04-09 09:58 来源:埃里克云 编辑:埃里克云

核心提示

编者按:这篇客座文章是由Nacho Fernandez撰写的,他是手机游戏开发商的构建工程师,国王。你负责管理世界上票房最高的手机游戏《詹金斯》实例。您将了解到这涉及到帮助游戏工作...

香港服务器_虚拟_物联网智能建筑

编者按:这篇客座文章是由Nacho Fernandez撰写的,他是手机游戏开发商的构建工程师,国王。你负责管理世界上票房最高的手机游戏《詹金斯》实例。您将了解到这涉及到帮助游戏工作室在八个不同的目标平台上迭代他们的工作,每个平台都有各自的SDK,在四个不同的主管道上,再加上许多额外的辅助工作。当然,制片方希望这一切顺利进行,以便在每一个发行版(每两周发行一次)保持良好的特性和bug修复速度。打击数亿玩家全世界。怎么办您是否要确保环境的配置正确,所需软件的正确版本;帮助工作室保持其管道的稳定性和可伸缩性;确保Jenkins实例的可操作性;逐月提高构建速度?出汗没关系。你需要一些帮助!对于一个在King工作的建筑工程师来说,这只是办公室里的一天。面临着一个非常广泛的问题,高质量的标准,甚至更高的风险。谢天谢地,我们并不孤单。我们可以接触到很多工具,无论是开源工具,工作室开发的工具,还是我们巴塞罗那的stellar build infrastructure团队开发的工具,都可以帮助我们一路走到出版线上。我们将所有这些工具组合在一起,通过它们的组合,我们为工作室提供快速、易于操作的工作流程,在这里和那里节省时间,确保功能从开发到大师的顺利发布。我将在2019年12月4日在DevOps World | Jenkins World里斯本向我们的工作室解释我们在King使用的所有技巧,以加快构建速度并使Jenkins操作更容易。(如果您还没有注册会议,请单击此链接并使用JWFOSS,注册费可享受30%的折扣。)现在,让我们来看看一些他们。我们使用内部弹性基础设施,在需要的时候从特定的模板生成机器。这意味着,对于每一个构建,我们都会得到一个全新的环境—没有中间产物或任何类似的东西,这很好。这也意味着我们需要克隆我们的存储库,每次都要编译所有的东西,这很糟糕。但是,我们有办法解决这两个问题问题。我们在生成虚拟机时,充分利用linkclones/Snapshot。每天晚上,我们都会运行一个引导程序,它将启动基本映像并执行我们决定的任何操作,然后再将其转换为模板并重新创建快照。在Candy Crush的例子中,我们更新缓存,这有助于我们减少git克隆和编译的时间。我们称这个引导程序为"cacheo"。看起来差不多这个:.Cacheo1。启动弹性代理模板映像2把它和詹金斯联系起来三。执行清理4触发git引用缓存作业5触发要缓存的所有生成6关闭模板映像,删除代理并重新创建链接的克隆快照每个工作室都可以指定缓存将在哪些模板上运行,以及它将在每个模板中执行什么操作。也许你想确保你的Android许可证是正确的。或者从Artifactory下载一些包。或许可以预先加载你的Gradle依赖项。不管它是什么,cacheo都会为你做,并且每晚上。一个最常见的用法是预填充本地git缓存,当这样做时,改进非常明显,特别是在Windows上:[cols=",,,,options="header",]|===|| Linux | MacOS | Windows|NFS | 2分钟11秒| 2分钟34秒| 8分钟32秒|局部| 1分钟20秒| 1分钟35秒| 3分钟49秒|差异|*快39%|*快39%|*快55%*|===这意味着,在Windows上,平均将源代码获取速度提高55%。太多了!!我们所有的主要游戏都使用同一个引擎;我们通过子模块来引入这些代码。这意味着无论何时构建游戏,都需要编译和链接大量共享代码。而且这种共享代码比实际游戏代码大的情况并不少见!谢天谢地,引擎团队帮了我们一把,他们开发了一种打包编译后的共享代码的方法。通常,游戏代码与共享代码的特定版本共存,更新不太频繁。有时一个月一次,有时是为了抓紧时间。这就意味着我们有可能在相当长的时间内编译完全相同的共享代码,每次我们构建游戏。多亏了这些预构建的构件,我们能够跳过编译的大部分,而代价是只需下载一个简单的构件编译项目()生成空的cmakelists()对于依赖项中的依赖项:将编译的依赖项合并到metalib(依赖项)将"依赖项"写入"生成的"cmakelists"作为"metalib(dependency)的"别名"elif使用预构建的库:将"生成的"cmakelists"与"metalib"添加为"dependency()compile_project()多亏了这些预构建的库,我们可以跳过很大一部分的编译,而且它的构建速度非常快!多个分支上的迭代工作,只要它们有相同的引擎版本,就会以明显的方式加速。但是,在某些特定情况下,我们确实选择构建共享代码,比如我们为实例。只是所以你知道了,这个表上的平均时间是:[cols=",,",options="header",]|===|| iOS | Windows操作系统|无预建| 20分钟17s 124; 40分钟30秒|预建| 10分钟2秒| 23分钟20秒|差异|*快51%|*快43%*|===詹金斯的手术相当复杂。说"告诉我一些我不知道的事",对吧?而且有这么多移动部件(弹性基础设施、插件、脏工作区),可能每个人都不容易运行特定的维护任务。我们有许多由build infrastructure group创建的小管道,可以用来诊断和解决某些错误,以及收集其他方面可能很难找到的有用信息。这些管道执行的操作包括打印所有已安装的插件、删除脱机按需代理、从vSphere清理断开连接的虚拟机或在特定的Jenkins实例中重新运行puppet。任何用户都可以运行这些作业,不需要是管理员。这允许团队在需要时通过使用这些作业来解除自身的障碍。这是我特别喜欢的。你修改过多少次管道,当你试着运行它时,第一件事就是詹金斯说它需要批准?。脚本Approvalimportorg.jenkinsci.plugins.脚本安全.scripts.*@NonCPS公司定义调用(){sa=脚本审批.get()toApproveScripts=sa.getPendingScripts()。收集()println("toApproveScripts:"+toApproveScripts)到ApproveScripts.each{待定->sa.get().批准书(挂起.getHash())println("批准的脚本:"+挂起.getHash())}sa.保存()}最好的部分?我们所有的Jenkins实例都默认包含这些作业,因此没有人会错过有趣。额外的资源:了解如何CloudBees Accelerator为您提供了时间和创新了解Accelerator如何在构建周期上节省了300万小时发现CloudBees Flow的JFrog Artifactory插件

  • 企业云_哪里买_大数据网站 企业云_哪里买_大数据网站

    Delphix最近与AWS合作,帮助人们和团队加快并确保迁移到业界领先的Amazon Web服务云平台。AWS市场上的Delphix结合了AWS,加快了重要的迁移项目,并将时间从几周、几个月缩短到几天。客...

  • 云存储服务器_网站_云存储文件上传 云存储服务器_网站_云存储文件上传

    数据操作帮助人们与数据连接的方式因技术、用户和用例的不同而有很大差异。例如,数据民主化一直是分析界的话题,专注于为非技术用户提供回答关键问题和推动业务新见解所需...

  • 带宽和网速的关系_如何租用_工业大数据 带宽和网速的关系_如何租用_工业大数据

    在大多数人可能会做噩梦,梦到上班时忘了穿裤子,数据库管理员(DBA)的噩梦围绕着出现在工作中,被告知生产系统出现严重故障或其他高影响情况,而完全不知道。监控和警觉是...

  • 阿里服务器_如何选_物联网开发套件 阿里服务器_如何选_物联网开发套件

    几天前,在旧金山的纳斯达克中心,我见到了首席信息官Ken Piddington先生,他也是首席信息官的执行顾问。Ken说:"我和首席信息官和IT部门的首要任务是数据转换。"事实上,他经常听...

  • 阿里服务器_阿里云_国内物联网操作系统 阿里服务器_阿里云_国内物联网操作系统

    "对创新的需求正在增长,而且增长迅速,"埃森哲的吉滕德拉·卡瓦特卡尔(Jitendra Kavathekar)最近在旧金山举行的Delphix数据活动上评论道我们需要将人们与技术联系起来,推动全球的...

  • <strong>香港cn2服务器_什么是_大数据分析软件有</strong> 香港cn2服务器_什么是_大数据分析软件有

    数据的使用应该是无摩擦的,让数据消费者能够看到和访问所有版本的授权数据,而不必考虑位置、云平台或存储供应商。为了确保这些能力,企业实施解决方案,在管理数据的运营...

  • 数据云_怎么购买_云服务器哪便宜 数据云_怎么购买_云服务器哪便宜

    上周,我们的一个主要合作伙伴给我发了一封信,帮助他了解在Oracle和SQL Server上实现Delphix的方式之间的差异。如果您不熟悉Delphix动态数据平台(DDP),那么在您阅读完Oracle的支持和...

  • 负载均衡_如何租用_人工智能用的什么技 负载均衡_如何租用_人工智能用的什么技

    德尔菲斯工程和支持是非常了不起的人。他们继续寻求解决方案,不管需要多少时间,也不管他们面临支持异构环境、硬件配置和客户需求的复杂挑战。这篇文章是为了支持我们的团...

  • 大宽带服务器_海外_关系型数据库和非关 大宽带服务器_海外_关系型数据库和非关

    大家好!我又回到了"演示马鞍"上,来展示将数据从一个云复制到另一个云是多么容易。数据摩擦比比皆是,很少有地方像云迁移项目那样感受到数据摩擦。将数据传输到云中可能是一...