Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins CI/CD:环境部署原则_Jenkins_Automation_Workflow_Devops_Continuous Deployment - Fatal编程技术网

Jenkins CI/CD:环境部署原则

Jenkins CI/CD:环境部署原则,jenkins,automation,workflow,devops,continuous-deployment,Jenkins,Automation,Workflow,Devops,Continuous Deployment,我不是开发人员,但目前正在阅读CI/CD。现在我想知道自动代码部署的良好实践。到目前为止,我读了很多关于将代码部署到预先存在的环境的文章 我现在的问题是,在创建新构建时,使用Jenkins工作流从头开始部署环境是否也是一种良好的做法。例如,对于新创建的构建的测试,在测试后再次删除环境 我知道有各种各样的插件可以与AWS、Azure等进行交互,它们可以用来开发虚拟机部署作业。 还有一些插件可以触发Puppet部署infra(作为代码),还有一些插件可以调用基础架构编排。 因此,在部署代码之前(当然

我不是开发人员,但目前正在阅读CI/CD。现在我想知道自动代码部署的良好实践。到目前为止,我读了很多关于将代码部署到预先存在的环境的文章

我现在的问题是,在创建新构建时,使用Jenkins工作流从头开始部署环境是否也是一种良好的做法。例如,对于新创建的构建的测试,在测试后再次删除环境

我知道有各种各样的插件可以与AWS、Azure等进行交互,它们可以用来开发虚拟机部署作业。 还有一些插件可以触发Puppet部署infra(作为代码),还有一些插件可以调用基础架构编排。 因此,在部署代码之前(当然需要一些额外的努力),一切都可以用来部署基础设施和中间件

这是在现实生活中使用的东西吗?怎么做的

我的问题的背景是,我对开发的完全自动化感兴趣,只需要尽可能少的点击,并且通过不使用闲置机器而在按使用付费模式中节约成本

我现在的问题是,在创建新构建时,使用Jenkins工作流从头开始部署环境是否也是一种良好的做法

是的,从头开始部署环境是一种很好的做法。正如您所说,Jenkins和Jenkins管道当然可以根据您的具体需求帮助启动和协调该流程。从头开始部署一个完整的环境是最难自动化的事情之一,如果这是自动化的,则意味着许多其他事情也会自动化,例如基础架构、应用程序部署、应用程序配置等等

这是在现实生活中使用的东西吗

是的,当然。很多商店都这样做。您的环境越简单,就越容易,因此,只有一个后端应用程序的初创公司在实现这种valhalla状态方面相对没有什么困难。但即使是创建最复杂的环境——有数百个相互依赖的应用程序——也可以完全自动化;这需要更多的时间和精力

我的问题的背景是,我对开发的全自动化感兴趣,在按使用付费的模式下,通过不使用闲置的机器,尽可能减少点击次数,节约成本

是的,当然。“启动并销毁”战略使所有托管模型受益(因为,在完全自动化之后,没有人需要等待有人手动配置环境),但那些使用公共云的人在成本方面看到了更大的好处(例如,与总是让AWS环境运行相比)

我欣赏你的想法


没问题。我会建议,这个问题不适合stackoverflow的问答最佳点,因为它非常一般。在将来,我建议您与您的开发人员聊天,找到对这类事情感到兴奋的人,当您在某些事情上陷入困境时,制定更具体的问题。欢迎来到stackoverflow

All以各种组合使用;目标是为最终用户提供持续的价值。我的两分钱:

构建和发布 这取决于你在用什么。我个人建议使用该工具提供的工具。例如,VSTS(VisualStudioTeamServices)提供了完整的CI/CD管道。但是,如果你有一个独特的需求,而这个需求只能由Jenkins来满足,那么你就必须使用它,VSTS提供了开箱即用的服务

IAC(基础设施代码) 除了Puppet等,您还可以利用AZURE ARM(AZURE资源管理器)模板的优势来构建和破坏环境。同样,请查看您拥有的工具集的开箱即用功能

按使用付费 我个人使用的是Azure开发/测试实验室,并通过CI/CD管道将代码部署到该实验室。稍后在VM上设置关机策略,使其根据提供的时间自动启动和自动关机。这是一个很好的功能,可以让您节省所使用的资源和复制环境的成本

例如,在QA签署之前,可能不需要UAT环境。但是使用IAC,您可以快速地自动启动环境,然后单击部署设置将代码部署到UAT