当前位置:  开发笔记 > 运维 > 正文

使用Jenkins/Hudson的Integration-Manager Git Workflow

如何解决《使用Jenkins/Hudson的Integration-ManagerGitWorkflow》经验,为你挑选了0个好方法。

我正在尝试实现类似于ProGit中描述的修改后的Integration-Manager工作流程.

Integration-Manager工作流程图

integration manager我希望开发人员在发布代码之前在本地进行合并,而不是执行合并,我希望Quality Gateway在允许代码进入祝福之前强制执行我们的持续集成标准,例如最低级别的代码覆盖率和100%测试通过.存储库由其他开发人员检出.我们的想法是,受祝福的存储库中的代码始终满足我们定义并始终构建的最低标准.

我希望Jenkins能够执行质量网关的角色,只在构建成功时将代码推送到受祝福的存储库.

到目前为止,我已经建立了系统,以便有以下公共存储库:祝福存储库,Jenkins构建服务器上的存储库,这是通过gitosis访问的裸仓库,当然还有开发人员自己的存储库.

我让开发人员从有福的回购中撤出并推向整合回购.现在我试图让Jenkins将成功的构建从集成回购推送到受祝福的回购.

到目前为止,我已经看到了似乎类似于我想要实现的唯一选项是" Push Only If Build Succeeds"中邮的Git的Publisher设置建立在詹金斯的项目配置操作选项.但是,该选项不允许您指定push url或remote to push.

据我了解,Git的Publisher设置将推动回购詹金斯克隆到其工作区回詹金斯的公共回购,但我想推到一个不同的远程,有福库.

有没有人有任何建议我怎么能让詹金斯推进祝福的回购?

编辑0:我尝试使用Post Step来执行push命令到我的祝福存储库.这似乎有效,因为没有错误.然而,没有任何更改被推送,日志显示git认为一切都是最新的:

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESSFUL 
[INFO]     ------------------------------------------------------------------------ 
[INFO] Total time: 1 minute 7 seconds 
[INFO] Finished at: Fri Nov 18 16:10:50 UTC 2011 
[INFO] Final Memory: 19M/45M 
[INFO] ------------------------------------------------------------------------ 
channel stopped 
[My Project] $ /bin/sh -xe /tmp/hudson5604254372179801803.sh + git push git@example.com:my-project.git --all
Everything up-to-date

我不知道为什么git认为没什么可推的,因为肯定有.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有