詹金斯工作和 GIT/maven

Jenkins jobs and GIT/maven

我想在 jenkins 中执行一个新任务。

我想在 jenkins 工作区中克隆一个 git 存储库。这个仓库有两个文件夹,每个maven项目一个。

但是,我只需要在这些文件夹之一中执行 mvn 命令。

如何导航到正确的文件夹并在 jenkins 中执行 mvn 命令?

我已经检查了 "Consult repository (SCM)" 选项,我尝试在 运行 mvn 命令之前执行一个 shell 脚本:

cd $WORKSPACE/CompositeApplicationExampleProject/

但是我得到这个错误:

[pruebaJenkins] $ /bin/sh -xe /clinker/jenkins/temp/hudson5899551334803596574.sh 
+ cd /clinker/jenkins/data/workspace/pruebaJenkins/CompositeApplicationExampleProject/
/clinker/jenkins/temp/hudson5899551334803596574.sh: 2: cd: can't cd to/clinker/jenkins/data/workspace/pruebaJenkins/CompositeApplicationExampleProject/
Build step 'Execute shell' marked build as failureFinished: 
FAILURE

通常 - 拥有这种设置(一个 git 存储库中的多个 Maven 项目)是不好的做法 - 尤其是在使用 jenkins 时。我需要处理一个遗憾地使用这种模式的大项目,我不想重复这种经历。

您的问题的解决方案:只需添加 2 个 Maven 作业(如果尚未完成,请安装插件)并在相应作业配置的构建部分下添加 pom 路径。示例:

project_folder_1/pom.xml

如果您只想在相应目录中发生更改时构建,这很棘手,需要在作业的 git 配置中进行一些调整。您可以使用附加行为 "Polling ignores commits in certain paths"。但请注意,由于 git 插件中的错误,这并不总是有效。

您根本不需要更改目录。

Maven有一个参数file(简称f)来指定自定义pom.xml,例如:

mvn -file dir1/dir2/pom.xml package