【问题标题】:Jenkins: Build job with dependency to other artifact/project詹金斯:建立对其他工件/项目的依赖的工作
【发布时间】:2017-04-14 10:51:14
【问题描述】:

我正在尝试配置我的 jenkins 作业,但我在设置方面遇到了一些问题。

我的目标:

  • 核心项目的一个构建作业
  • 一个项目的构建作业依赖于核心项目

当前设置:

- core 
-- src/
-- build.gradle
-- settings.gradle
- project
-- src/
-- build.gradle
-- settings.gradle

“核心”和“项目”位于不同的 git 存储库中。

“项目”的settings.gradle包含以下代码:

include ':drivers', ':capabilities', ':features', ':extensions', ':pageobjects', ':reports'
project(':drivers').projectDir = new File(settingsDir, '../core/drivers')
project(':capabilities').projectDir = new File(settingsDir, '../core/capabilities')
project(':features').projectDir = new File(settingsDir, '../core/features')
project(':extensions').projectDir = new File(settingsDir, '../core/extensions')
project(':pageobjects').projectDir = new File(settingsDir, '../core/pageobjects')
project(':reports').projectDir = new File(settingsDir, '../core/reports') 

因此,“项目”需要核心模块。在我的本地机器上(使用 eclipse,一个工作区)它就像一个魅力,但我不知道如何设置 jenkins 工作。也许 settingsDir 的路径不适合詹金斯?也可以在一个作业中包含两个存储库,但如果有两个构建作业会更好。

如何正确配置?

【问题讨论】:

    标签: java jenkins gradle build


    【解决方案1】:

    在您的情况下,由于您想为 Core 和 Project 使用不同的作业,如果您按原样使用 Jenkins 默认工作区管理提供的,则 gradle 设置 projectDir 不符合与 Jenkins 工作区相关的路径结构。

    使用Custom Workspace,这有助于指向您设置了类似于 Dev 文件夹结构的文件夹的文件夹。

    例如: 创建根文件夹以保存核心和项目并假设您正在运行 Jenkins (/var/lib/jenkins/workspace/code)

    代码

    -核心

    --src/

    --build.gradle

    --settings.gradle

    -项目

    --src/

    --build.gradle

    --settings.gradle

    将核心作业的自定义工作区用作 /var/lib/jenkins/workspace/code/core

    对于项目作业,使用自定义工作区作为 /var/lib/jenkins/workspace/code/project

    【讨论】:

    • 感谢您的帮助。我使用了自定义工作区,它就像一个魅力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 2018-03-10
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    相关资源
    最近更新 更多