2014-04-30 63 views
0

在我的公司我们已经使用Gerrit,我们希望将它与Jenkins集成为一个项目。 我们有一个开发服务器,应用程序将运行,Jenkins将被安装,而Gerrit和实际的回购将被安装在另一个服务器上。我们的目标是在一台服务器上同步应用程序,并运行一些脚本,以便每次在dev分支上合并更改时生成脚本。 这个想法不是在Gerrit服务器上执行构建,而是在我们的应用程序运行的服务器上执行。 Gerrit Jenkins插件似乎是这种任务的理想工具,因为它会触发构建Gerrit事件。然而,我不能为我们的具体情况想出任何理想的工作流程或设置(基本上将文件从A复制到B并在B上运行脚本),因为我不明白在使用Gerrit插件时是否预计项目建立在特定的分支上或可以在任何地方建造。Jenkins Gerrit触发器理想用法

回答

2

Jenkins希望将代码从Gerrit服务器下载到Jenkins服务器以运行构建脚本。 Gerrit Trigger Plugin的大部分用户都使用Jenkins Git插件来完成此操作。请参阅指南https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger#GerritTrigger-UsagewiththeGitPlugin

+0

如果我理解正确的话,我将被允许指定目标的代码要在詹金斯服务器上下载然后在那里运行脚本。我错了吗?我很抱歉,如果这看起来很明显,但我首先提出的原因是因为遵循该指南我遇到了问题。 – feychou

+0

每个作业都会在Jenkins节点上获取沙箱。如果您想使用该沙箱的子目录,那可能是一个选项。但通常您不指定沙箱位置,也不用担心代码结束的位置。如果你需要将它移动到其他地方发布或类似的话,还有其他的jenkins后期构建插件可以这样做。 – Brad

1

该项目将始终构建在作业工作区中。例如在Linux上,这将在/var/lib/jenkins/jobs/job-name/workspace。工作区将成为您的存储库的克隆,并将检出到您希望构建的分支。

所以当你问你是否可以指定一个目的地然后我会说:不,这是不能做到的。

为什么不使用像rsync这样的代码将代码移动到最终目的地。这是我们用来为我们的开发团队部署最新文档的。

  1. 构建软件
  2. 生成文档
  3. 在成功部署文档:rsync doc/html/ 192.168.0.1:/var/www/doc/project
相关问题