【问题标题】:Jenkins Gerrit Trigger ideal usageJenkins Gerrit 触发器的理想用法
【发布时间】:2014-06-17 03:45:15
【问题描述】:

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

【问题讨论】:

    标签: jenkins jenkins-plugins gerrit


    【解决方案1】:

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

    【讨论】:

    • 如果我理解正确,我将被允许指定要下载到 Jenkins 服务器上的代码的目的地,然后在那里运行脚本。我错了吗?如果这看起来很明显,我深表歉意,但我首先问的原因是因为我在遵循该指南时遇到了问题。
    • 每个作业都会在 Jenkins 节点上获得一个沙箱。如果您想使用该沙箱的子目录,这可能是一个选项。但通常您不会指定沙箱位置,也不必担心代码的最终位置。如果您需要将其移动到其他地方以进行发布或类似操作,还有其他适用于 jenkins 的构建后插件可以这样做。
    【解决方案2】:

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

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

    您为什么不使用rsync 之类的东西将您的代码移动到最终目的地。这是我们用来为我们的开发团队部署最新文档的工具。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 2018-08-17
      • 2021-01-24
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      相关资源
      最近更新 更多