在我的公司,我们已经在使用Gerrit,我们希望将它与Jenkins集成到一个项目中。 我们有一个开发服务器,运行应用程序并安装Jenkins,而Gerrit和实际的repo将在另一个服务器上。我们的目标是在一个服务器上同步应用程序,并在每次在dev分支上合并更改时运行一些脚本进行构建。 我们的想法不是在Gerrit服务器上执行构建,而是在运行应用程序的服务器上执行构建。 Gerrit Jenkins插件似乎是执行此类任务的理想工具,因为它会触发Gerrit事件的构建。但是,我无法针对我们的具体情况提出任何理想的工作流程或设置(基本上将文件从A复制到B并在B上运行脚本),因为我不明白,当使用Gerrit插件时,项目是否应该是建立在特定分支上或可以在任何地方构建。
答案 0 :(得分:2)
Jenkins希望将代码从Gerrit服务器下载到Jenkins服务器以运行构建脚本。 Gerrit Trigger插件的大多数用户使用Jenkins Git插件来完成此任务。请参阅https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger#GerritTrigger-UsagewiththeGitPlugin上的指南。
答案 1 :(得分:1)
项目将始终在作业工作区中构建。例如,在Linux上,这将在/var/lib/jenkins/jobs/job-name/workspace
中。工作区将是您的存储库的克隆,并将签出到您要构建的分支。
因此,当您询问是否可以指定目的地时,我会说:不,这不可能。
为什么不使用rsync
之类的内容将代码移动到最终目的地。这是我们用于为开发团队部署最新文档的内容。
rsync doc/html/ 192.168.0.1:/var/www/doc/project