2015-01-21 81 views
1

我想在jenkins中执行一项新任务。Jenkins作业和GIT/maven

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

但是,我只需要在其中一个文件夹中执行mvn命令。

我该怎么办navegate纠正文件夹,并在jenkins中发出mvn命令?

我已签“咨询库(SCM)”选项,然后我尝试以前执行shell脚本来运行mvn命令那样:

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 

回答

0

一般 - 有这种设置(多个maven项目在一个git仓库中)是不好的做法 - 尤其是当使用jenkins时。我需要处理一个可悲地使用这种模式的大项目,我不想重复这种经历。

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

project_folder_1/pom.xml 

如果希望仅在出现相应目录中的变化,这是棘手和作业的git的配置需要一些调整来构建。您可以使用其他行为“轮询忽略特定路径中的提交”。但请注意,由于git插件中的错误,这一直无法工作。

0

根本不需要改变目录。

Maven的具有参数file(或f的简称)以指定自定义的pom.xml,例如:

mvn -file dir1/dir2/pom.xml package