1
6
在哈德逊,你可以把多个工作链接在一起。您可以尝试为测试框架和项目框架分别创建一个Hudson作业。Hudson在$workspace中为每个作业创建一个单独的目录,因此现在您应该在$workspace下有两个不同的目录。 设置链接 在项目的作业配置中,向下滚动以发布生成操作并检查生成其他项目…在测试框架中输入作为要构建的项目。 在测试框架的作业配置中,确保轮询SCM 未检查的 在其他项目设置为项目“A”后生成。 它是如何工作的 您现在配置的是Project_,它将轮询SCM以查找更改,当发现更改时,它将从Git中提取更改。运行构建步骤(如果有),完成时触发测试框架作业以从Git(如果有)中提取更改并运行其构建步骤。 |
2
6
“构建其他项目”解决方案的问题是,如果对测试框架进行了更改,则不会触发要构建的项目。相反,我建议放弃Git插件并设置“执行shell”构建步骤,方法如下:
接下来,创建hook文件“server:/repo/test_framework.git/hooks/post receive”和“server:/repo/project_a.git/hooks/post receive”,内容如下:
现在,每当将更改推送到任一存储库时,钩子都将使用Hudson的API来触发构建。 |
3
6
我意识到这个问题很古老,但我遇到了同样的问题,并用这一页充实了我自己的解决方案,它看起来非常有效(尽管有点复杂)。这个解决方案的大部分功劳应该归功于克林顿(我提交这个答案的唯一原因是他的答案似乎不能解决需要在同一个基本目录中的多个存储库)。 假设您有两个存储库(A和B)。 步骤: 1)做两个项目从远程存储库A和B中提取代码。在任意一个存储库中执行任何必要的构建步骤。 2)在没有任何源代码管理的情况下创建第三个目录。向此项目添加生成步骤以执行类似以下内容的shell命令:
(您的路径可能不同。你自己去看看!) 现在,您可以添加任何其他构建步骤,这些步骤依赖于A和B在目录中是姐妹。是的,符号链接! 3)把这三个任务连在一起。拉任务的顺序可能重要,也可能不重要(你比我知道得多),但是没有源代码控制的任务应该是链中的最后一个链接。 |
4
1
我遇到了同样的问题,目前通过为每个项目创建一个作业并使用 Copy Artifact Plugin 允许构建依赖作业,即使Git更新是基于它的依赖项完成的(这是为了避免在我们所依赖的项目更新的中间构建)。 因此,Project_a会从test_framework复制它所需的最新稳定的工件,对test framework的更新会触发项目_a中的构建。项目_a仍然可以由git中的更改触发,它只会再次复制test_framework中的最新工件。 |
5
1
您描述的问题已经作为Bug在Jenkins BugTracker中归档: https://issues.jenkins-ci.org/browse/JENKINS-8082 我们使用扩展项目作业配置中的“自定义工作区”选项将作业的存储库签入另一个作业的子目录。 另一个作业用所有子模块检查主目录:
|
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |