使用Jenkins部署到生产服务器

时间:2016-09-23 13:40:11

标签: asp.net iis svn jenkins msdeploy

我有3个阶段(dev / staging / production)。我已成功为每个设置发布,以便使用msbuild将代码部署到正确的位置,并在Jenkins内部转换正确的Web配置。

我遇到的问题是,我不知道将代码部署到从dev(和登台到生产)构建的内容中进行分段。我目前正在使用SVN作为源代码控制,所以我想我需要以某种方式保存dev已构建的最新版本号,并以某种方式告诉Jenkins根据该号码构建/部署分段?

有没有办法做到这一点,或者更好的替代方案?

任何帮助都将不胜感激。

编辑:决定使用保存修订号方法,该方法将包含修订号的文件解析到下一个作业 - 为此,我按照这个答案:

How to promote a specific build number from another job in Jenkins?

它解释了如何使用促销插件将工件从一个作业复制到另一个作业。对于工件本身,我在主构建之后添加了一个“执行Windows批处理命令”构建步骤:

echo DEV_ENVIRONMENT_CORE_REVISION:%SVN_REVISION%> env.properties

然后在分段作业中,使用上面的指南,复制该文件,然后使用插件EnvInject从该文件中读取并设置环境变量,然后可以将其用作SVN存储库URL的参数。

1 个答案:

答案 0 :(得分:0)

您应该能够识别在DEV中构建的变更集编号,并手动将该变更集传递给Jenkins构建,以从SVN中提取相同的变更集。显然,这使您的部署更加手动。也许您可以设置Jenkins将变更集编号发布到文件,然后让后面的env版本读取该文件以获取变更集编号。

我们过去常常使用这个模型,它总是很复杂。最后,我们转移到构建一次并使用WebDeploy部署多次模型。这使得这个过程变得更加简单。看看 - http://www.dotnetcatch.com/2016/04/16/msbuild-once-msdeploy-many-times/