chr*_*ney 8 eclipse git hudson junit4 jenkins
我正在尝试实现类似于ProGit中描述的修改后的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
Run Code Online (Sandbox Code Playgroud)
我不知道为什么git认为没什么可推的,因为肯定有.
您是否考虑过将Gerrit添加到您的工作流程中。更改会推送到 Gerrit,然后您的 CI 运行构建并报告测试。可以对其进行设置,以便在将其合并到您的祝福存储库之前需要其他批准(例如授权代码审查)。 EGit在他们的开发中使用它,http://egit.eclipse.org/r/。还有关于此工作流程的其他讨论,例如alblue的博客。
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |