我想为一个应用程序定义不同的部署过程。这里的想法是我有一个应用程序,我想部署到不同的环境。它是相同的应用程序,但我想将它部署在一个具有设置A和步骤数A的环境中,然后让我们说在一周内部署相同的应用程序,但使用不同的设置B和另一个环境的步骤。这两种环境没有任何共同点,并且不在同一生命周期中,但它们都需要相同的应用程序。有没有办法做到这一点。现在我只看到一种定义另一个Project(相同)的方法,我可以在其中定义一个新的部署过程。帮助赞赏。谢谢。
答案 0 :(得分:0)
我将对您所使用的工具做一些假设,但如果您没有这个,请澄清:
因此,一旦设置了基本部署体系结构,您就可以决定如何推广您的代码。这两个环境是否与他们自己的版本以及他们自己的代码推广路径完全分开?如果是这样,您应该将它们构建为具有单独构建的单独项目。这样,您可以将一个构建设置启用自动部署到环境1,而另一个可以设置为Auto Deploy到环境2.更大的频率问题(CI,计划或手动)也会影响多少个不同的构建定义你应该有。对我来说,我会将它们作为OD中的两个单独项目和两个单独的构建,基于您编写的内容,实现部署自动化和进一步定制的灵活性(一个中的不同步骤,安全性等)。希望这有助于GL。
答案 1 :(得分:0)
这里的想法是我有一个应用程序,我想部署 到不同的环境。它是相同的应用程序,但我想 将它部署在一个具有设置A和步骤数A的环境中, 然后让我们说在一周内部署相同的应用程序,但使用 不同设置B 和另一个步骤 环境即可。
如果您正在更改设置(例如web.config或app.config),那么变量就是您的答案。使用变量选项卡根据要部署的环境交换/更改值。在此处阅读有关变量的更多信息:http://docs.octopusdeploy.com/display/OD/Variables
环境实际上并不需要任何共同点(除了服务器角色) - 但是在不同环境中需要不同步骤的原因有点不同寻常。最佳实践或者更确切地说,跨环境采用相同步骤的基本动机是为了保持一致性 - 如果您的部署过程完全相同,则在分段中部署的任何内容都应该在生产中工作。
配置等细节无疑会因环境而异 - 所以我想第一个问题是:在需要您为一个环境而不是另一个环境提供步骤的环境之间所以是什么?
有几种方法可以满足您对步骤的要求:
就像你提到的那样,添加另一个项目可以解决这个问题。
变量 - 在处理配置更改时总是使用变量 - 不需要真正手工编写脚本或为每个环境设置不同的步骤
如果确实需要针对不同的环境采用不同的步骤,您可以在“条件”部分的底部指定应该针对哪个环境。只需添加仅允许运行步骤的环境。
在同一个项目中,您所要求的是可能的 - 并且根据所做的工作,为特定环境执行特定步骤并不是一个好习惯并且没有更多细节,我不确定我们如何帮助您解决这个问题。