我希望获得有关通过其环境促进构建的最佳方法的一些指导。
我们有3个环境,DEV,STAGING,PROD。
DEV Jenkins构建在连续集成设置中运行,因为将代码签入到Subversion中,Jenkins将运行一个新构建(干净,编译,测试,部署)。
棘手的是涉及到STAGING和PROD。
这个想法是为了能够将成功的DEV构建手动升级到STAGING。STAGING构建将签出DEV的SVN修订版号,进行构建,测试,部署到阶段并最终在SVN中创建分支。
最后,发布管理器可以将STAGING构建手动升级为PROD。PROD构建将从先前的STAGING构建中检出分支,部署到PROD并将分支标记为发行版。
我尝试使用Promotion Builds插件和Paramterized Trigger插件的组合,但是没有运气。Subversion修订号似乎没有在DEV版本与STAGING版本之间传递。
在通过多个环境促进构建的过程中,没有人有任何指导吗?
在这种情况下,为什么需要返回并在svn中标记分支?我们不使用svn,而是使用TFS,当Hudson / Jenkins获取代码时,它检索到的变更集编号在构建日志中。因此,我们知道该构建程序来自什么代码,并且可以随时返回。
然后,我们使用Hudson在不同的环境之间进行构建,源代码控制系统不需要知道代码的部署位置。