首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jenkins -将构建推广到不同的环境

Jenkins -将构建推广到不同的环境
EN

Stack Overflow用户
提问于 2011-07-21 15:27:34
回答 3查看 13.6K关注 0票数 9

我希望得到一些关于通过其环境来促进构建的最佳方法的一些指导。

我们有3个环境: DEV、STAGING、PROD。

DEV Jenkins构建在持续集成设置中运行,随着代码签入subversion,Jenkins将运行新的构建(清理、编译、测试、部署)。

棘手的一点是,当涉及到阶段和PROD时。

这个想法是为了能够手动将一个成功的DEV构建升级到STAGING。STAGING build将检查DEV的SVN修订号,构建、测试、部署到staging,最后在SVN中创建分支。

最后,发布经理可以手动将登台版本提升为PROD。PROD build将从先前的STAGING build中检出分支,部署到PROD并将该分支标记为发行版。

我曾尝试使用升级构建插件和参数化触发器插件的组合,但没有成功。Subversion修订号似乎不能在DEV版本到STAGING版本之间传递。

有没有人对在多个环境中促进构建的过程有任何指导?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-23 03:13:54

在此场景中,为什么需要返回并在svn中标记分支?我们不使用svn,但使用TFS时,当Hudson/Jenkins获得代码时,它检索到的变更集编号将记录在构建日志中。因此,我们知道构建来自于什么代码,并且可以随时返回到它。

然后我们使用Hudson从环境到环境进行构建,源代码控制系统不需要知道代码部署在哪里。

票数 2
EN

Stack Overflow用户

发布于 2011-09-14 00:34:41

另一种方法是利用Jenkins提供的工件存储与Copy Artifact Plugin结合使用。

构建完成后,您可以指示Jenkins将应用程序持久存储为压缩的zip/tar.gz或作为下游作业的应用程序捆绑包,并使用复制工件从上游作业检索记录的工件(或根据需要使用参数化的builds)

  • Deploy/Unzip工件-构建外壳脚本/maven deploy?

  • 重新测试应用程序,使用与步骤1中创建的源/二进制文件相同的源/二进制文件)

  • Repeat (jar/war)

  • Trigger PROD as recorded

这种方法将允许您对工件进行指纹识别,因此Jenkins将在UI中将构建链接在一起,并允许更正式的签名。

票数 3
EN

Stack Overflow用户

发布于 2011-09-14 03:47:49

如果绝对有必要存储SVN修订ID,那么向DEV作业添加一个构建步骤,将其复制到一个文件中。如下所示:

代码语言:javascript
复制
echo %SVN_REVISION%>revision.ini

或者类似这样的东西:

代码语言:javascript
复制
echo MY_SVN_REVISION=%SVN_REVISION%>revision.ini

然后是工件revision.ini。在进行阶段构建时,使用Copy Artifact插件(正如前面的用户所提到的)来检索特定于构建的revision.ini文件,并将其加载到变量中。然后在命令行调用"svn“中使用该变量来构建标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6772646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档