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

负载均衡_珠海微网站建设_免费1年

小七 141 0

私有云存储_有哪些_物联网数据采集

最近我们宣布,特性管理服务Rollout将加入CloudBees家族。在这篇文章中,我们想讨论这是如何补充你可以用Jenkins X进行的高级渐进式交付,以及如何在Jenkins X中使用它。渐进式交付是指以一种安全的方式更快地对生产进行更改。通过逐步推出新版本的应用程序,或缓慢地切断新版本的流量,您可以自信地将更改更快地转移到生产环境中。幸运的是,功能标志也是一样的!这是否意味着他们之间有冲突?不,它们的运作方式非常不同,可以一起使用效果。放一边:这里可能需要快速阅读一下什么是功能标志,但总而言之:它们允许任何人打开或关闭功能,而无需重新部署应用程序(可以是移动应用程序或web应用程序,任何真正的功能标记都可以)。但是当你有时间的时候,一定要阅读这个链接),但是让我们退一步考虑一下权衡。我们越接近生产,改变的风险就越大。要么是给用户造成了问题,发布版本必须回滚,要么我们必须回到开发周期,修复问题,重新测试(昂贵)。然而,我们投入生产的速度越快,人们就越快得到好的改变,如果人们喜欢与否(也许他们不喜欢这种新颜色),我们得到的反馈也就越多。有些人甚至称之为生产测试。听起来有点吓人,但它更像是一个吸引眼球的名字,实际上它更像是在生产中进行试验(gah。。听起来更糟)。尽管这个名字可能会引起疑虑,但这实际上是持续交付的一项重要技术:价值传递的速度如此之快,没有必要放慢速度,将产品复制到完美的复制品中。而且,这通常是根本不可能做到的。试想一下,Netflix或Facebook试图建立一个复制品!即使他们可以在物理上做到这一点,那么想象一下他们试图复制真实用户的规模和可变性上膛。让我们把这个放在一个不必要的图表中,显示出改变是多么的危险发生:随着变化越往右边走,越危险。你可以说(没人知道,但我现在在说)右转是通往危险区的高速公路。但正如这首歌所说,"越靠近边缘,强度越高",在接近边缘的地方做出改变是有价值的生产。这个这是功能标志的闪光点:您可以通过翻转特性切换、更改值,云教云,甚至控制哪些用户组看到某些特性来测试生产中的想法,无需更新软件。到为了减少胃溃疡的诱发,rollout有一个"终止开关",你可以停用任何实验,并"让事情回到原来的样子":安慰。但詹金斯也可以用自己的时间来传播或是把它放回去。你不想发布一个新版本的软件来"试验"。移动是另一个需要功能标志的领域(你不能快速地对手机进行更改),这是相当数量的客户端软件天。又一天重要的网站资源你应该检查是最优秀的网页:停电党。明智的建议,可以帮助既有功能标志杀死开关,也可以轻松地回滚到旧版本的詹金斯应用程序X快速入门和RolloutJenkins X来了提供了一系列流行语言的快速入门,包括优秀的推出SDK所涵盖的快速入门。一旦你有了一个推广帐户,它会提供一个应用内指南,告诉你如何为你选择的语言进行集成。然后,Rollout SDK展示了如何将特性标志应用到JavaScript(在这种情况下是nodejs)——这是一个相当简单的API。还有许多其他的sdk(包括Golang和Java)。有一个预先准备好的推出快速启动功能标志集成,因此您可以更快地开始。同时,在这里注册一个演示,看看SDK医生,怎么了为了连接Jenkins X环境和Rollow功能标志Rollow和Jenkins X都有"环境"的概念。在Jenkins X中,这是一组有点孤立的资源(应用程序、服务)。一个环境可以被称为"登台"或"生产",但只能按惯例(它们可以被称为任何东西,也可以指任何你想要的东西)。应用程序将自动升级到暂存,大数据时代的特点,然后批准进入生产)。这很好,因为您通常只需要一个卷展栏环境,因为您可以将功能标志控制为需要。但是,您可能希望将关注点分开,在Rollout中"staging"和"production"中有不同的配置或实验(甚至涉及不同的人员和权限)。一旦你有了这个设置,就很容易将卷展栏中的环境映射到Jenkins X中的同一个环境,阅读开始。首先,云服务服务器,您可以设置所需的环境推出:生产来了在默认情况下(并且是默认使用的)并且我在这里添加了登台。我在Jenkins X中有相同的两个环境。接下来,转到的安装说明推出:会有的为你所处的每一个环境做一个下拉列表。对于每个环境,获取安装环境ID(长随机字符串),因为您稍后会需要它。注意哪个映射到Staging,生态环境大数据,哪个映射到Staging生产。最后,物联网应用技术是什么,在Jenkins X正在部署的应用程序代码中,可以通过加载文件"/var/run/secrets"来查找您所处的环境/kubernetes.io/serviceaccount/namespace"如果它在staging中运行,它的内容将是"jx staging",或者是"jx production",如果是在生产中,等等(你很聪明,你可以在这里找到模式!)。这样你的应用程序就知道它在哪里运行(也有预览应用程序,它们有自己的小名称空间,但我们现在可以忽略它们)。一旦有了Jenkins X环境的名称,就可以使用我们查找的那些环境ID字符串为适当的环境初始化rollout客户机上面。在伪代码应该看起来像比如:如果(readFile("/var/run/secrets/kubernetes.io/serviceaccount/namespace")="jx登台"){Rox.设置("转移的环境id这里")}其他{Rox.设置("environment id for prod here")}因此Jenkins X可以在Rollout中默认为生产(或任何您想要的)。使用中的环境下拉列表中的ID推出。这个当你的应用程序在Jenkins X中的环境之间升级时,它们使用每个环境中的Rollout中的适当的标志设置("实验"),它匹配1到1。对于许多用户来说,这可能有点过头了,但是很高兴知道在高级情况下可以很容易地做到这一点。例如,如果您使用此功能,您可以在登台环境中使用更具攻击性的设置。这意味着用户在尝试应用程序时会看到所有的功能都已打开(正如Jenkins X应用程序知道它正在准备中一样),但是当应用程序升级到生产(由Jenkins X开发)时,它将得到更保守的产品设置。功能标志的好处与新版本的部署最后,推出和功能标志让您可以让一系列人控制谁看到什么特性,什么时候看到。这不仅仅是开发人员或工程师,还有产品经理。你可以一次跟踪和控制这些特性中的许多:这是不可能做到的,你的应用程序为每个组合部署不同的版本,针对不同的集合用户。作为在生产测试中发布的帖子说,功能标志可以让你打破这种传统的权衡,让你的用户:那就去吧第四,在生产中测试!(安全!)其他资源阅读有关逐步推出和回滚的信息使用Jenkins XHow了解渐进式交付和canary部署,以创建功能标志