Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jenkins是否可以配置为独立于其他作业运行一组作业?_Java_Maven_Jenkins - Fatal编程技术网

Java Jenkins是否可以配置为独立于其他作业运行一组作业?

Java Jenkins是否可以配置为独立于其他作业运行一组作业?,java,maven,jenkins,Java,Maven,Jenkins,我在SCM中设置了以下Maven项目: A B(取决于A) C(取决于A和B,构建包含A和B的工件的归档) 我组织了Jenkins,这样就有了一组作业,其中A运行,B运行,C运行。例如,我有一组由SCM提交触发的构建(mvn clean install),一组运行报告的构建(mvn clean site),以及一组部署到开发/测试/生产服务器的构建(mvn clean install+运行一些插件进行部署) 当作业同时运行时会出现问题。例如: 如果C提交作业与A提交作业同时生成,则C提交作业

我在SCM中设置了以下Maven项目:

  • A
  • B(取决于A)
  • C(取决于A和B,构建包含A和B的工件的归档)
我组织了Jenkins,这样就有了一组作业,其中A运行,B运行,C运行。例如,我有一组由SCM提交触发的构建(mvn clean install),一组运行报告的构建(mvn clean site),以及一组部署到开发/测试/生产服务器的构建(mvn clean install+运行一些插件进行部署)

当作业同时运行时会出现问题。例如:

  • 如果C提交作业与A提交作业同时生成,则C提交作业通常无法读取本地m2 repo,因为A提交作业可能正在写入本地m2 repo
  • 如果Commit作业与Deploy作业同时运行,那么我担心它们正在向同一本地m2 repo进行写入和读取
  • 理想情况下,我希望能够同时运行这些作业集

  • 当前,当上游作业正在生成时,我阻止下游作业运行。这就避免了一些问题。然而,我仍然有一个问题,其中C是在建筑物的中间,然后开始构建。启用“上游项目正在建设时分块建设”和“下游项目正在建设时分块建设”是否存在任何已知问题
  • 我是否可以配置Jenkins,使一组作业使用相同的Maven存储库?例如,我希望提交触发的作业使用一个存储库,并使用另一个存储库进行开发部署作业。这是我想要的正确解决方案还是有其他方法

  • 回答你问题的第一部分-

    您应该能够同时使用“上游项目正在构建时的块构建”
    和同一作业配置中的“下游项目正在构建时块构建”

    这将阻止作业A在作业B或作业C已在运行时启动,
    当作业A或作业B已经运行时,将阻止作业C启动


    Cheers

    回答我问题的第二部分:将相关作业配置为使用定义自定义本地存储库的相同备用Maven设置文件。复制Jenkins服务器上现有的settings.xml,并指定自定义的localRepository。接下来,配置每个相关的Jenkins作业,在“生成”部分下,选择“高级”按钮,并输入备用设置文件的相对路径。@BennyMcBenBen您必须将答案作为正确的解决方案发布。