当dev同时对父级和子级repo进行更改时,Jenkins Build失败

时间:2017-10-03 18:26:06

标签: jenkins mercurial

我们使用mercurial 3.7.1版本作为源代码存储库工具,使用Jenkins 1.613作为CI工具。

我们有一个父级回购和两个子回购。每当dev提交父repo的更改并且Jenkins执行构建时,构建成功;当Dev对其中一个子仓库进行更改时,Jenkins会进行构建,构建也会成功。

现在的问题是:当他在父级仓库和子仓库上进行更改时,Jenkins构建失败,说找不到类。为什么会这样?

父repo被命名为CMS,子repo被命名为DeviceServer和PortalServer。

我的构建脚本或mercurial有什么问题吗?

以下是我的Jenkins配置的屏幕截图: enter image description here

以下是我的构建脚本:

 #!/bin/sh
 set +e
 #
 # http://jpshu@wtlbuild11-scm:8080/scm/hg/RetailCloudSolution
 #
 date > starttime
 #
 #
 export JAVA_HOME=/home/jenkins/android/jdk1.8.0_51
 export JRE_HOME=/home/jenkins/android/jdk1.8.0_51/jre
 export MAVEN_HOME=/home/jenkins/android/maven/apache-maven-3.2.3
 export M2_HOME=/home/jenkins/android/maven/apache-maven-3.2.3
 ####################################
 # build server
 # export WORKSPACE=/home/jenkins/jenkins/workspace/RetailCloudSolution
 pwd
 mvn -version

echo '####################################'
cd $WORKSPACE/cmsDeviceServer
# mv .properties .properties_orig

 mv WebContent/WEB-INF/classes/couchbase.properties WebContent/WEB-
 INF/classes/couchbase.properties_orig
 mv WebContent/WEB-INF/classes/log4j2.properties WebContent/WEB-
 INF/classes/log4j2.properties_orig
 mv WebContent/WEB-INF/classes/s3.properties WebContent/WEB-
 INF/classes/s3.properties_orig
 mv WebContent/WEB-INF/classes/elasticsearch.properties WebContent/WEB-
 INF/classes/elasticsearch.properties_orig

 # cp prod/*.properties
 cp $WORKSPACE/cms/src/main/resources/log4j2.properties WebContent/WEBINF/classes/
 cp $WORKSPACE/cms/envConfig/prod/*.properties WebContent/WEB-INF/classes/

  # build DeviceServer.war 
  ###mvn clean compile war:war
  mvn clean compile war:war

  # rm *.properties
  rm WebContent/WEB-INF/classes/couchbase.properties
  rm WebContent/WEB-INF/classes/log4j2.properties
  rm WebContent/WEB-INF/classes/s3.properties
  rm WebContent/WEB-INF/classes/elasticsearch.properties

  # mv *.properties_orig *.properties

  mv WebContent/WEB-INF/classes/couchbase.properties_orig WebContent/WEB-
INF/classes/couchbase.properties
  mv WebContent/WEB-INF/classes/log4j2.properties_orig WebContent/WEB-
INF/classes/log4j2.properties
  mv WebContent/WEB-INF/classes/s3.properties_orig WebContent/WEB-
INF/classes/s3.properties
  mv WebContent/WEB-INF/classes/elasticsearch.properties_orig 
WebContent/WEB-INF/classes/elasticsearch.properties

echo '####################################'
echo 'WORKSPACE:'$WORKSPACE
cd $WORKSPACE/cms
### build cms-2.jar
###mvn clean install -Dmaven.test.skip=true
mvn clean
mvn install -Dmaven.test.skip=true 


echo '####################################'
cd $WORKSPACE/cmsPortalServer
# mv .properties .properties_orig
mv WebContent/WEB-INF/classes/couchbase.properties WebContent/WEB-
INF/classes/couchbase.properties_orig
mv WebContent/WEB-INF/classes/log4j2.properties WebContent/WEB-
INF/classes/log4j2.properties_orig
mv WebContent/WEB-INF/classes/s3.properties WebContent/WEB-
INF/classes/s3.properties_orig
mv WebContent/WEB-INF/classes/elasticsearch.properties WebContent/WEB-
INF/classes/elasticsearch.properties_orig

# cp prod/*.properties
cp $WORKSPACE/cms/src/main/resources/log4j2.properties WebContent/WEB-
INF/classes/
cp $WORKSPACE/cms/envConfig/prod/*.properties WebContent/WEB-INF/classes/


# build RESTServer.war 
###mvn clean compile war:war
mvn clean compile war:war

# rm *.properties
rm WebContent/WEB-INF/classes/couchbase.properties
rm WebContent/WEB-INF/classes/log4j2.properties
rm WebContent/WEB-INF/classes/s3.properties
rm WebContent/WEB-INF/classes/elasticsearch.properties

# mv *.properties_orig *.properties
mv WebContent/WEB-INF/classes/couchbase.properties_orig WebContent/WEB-
INF/classes/couchbase.properties
mv WebContent/WEB-INF/classes/log4j2.properties_orig WebContent/WEB-
INF/classes/log4j2.properties
mv WebContent/WEB-INF/classes/s3.properties_orig WebContent/WEB-
INF/classes/s3.properties
mv WebContent/WEB-INF/classes/elasticsearch.properties_orig WebContent/WEB-
INF/classes/elasticsearch.properties

echo '####################################'
cd $WORKSPACE
cloc --by-file --exclude-
dir=bin,gen,libs,obj,save,.settings,.kwps,.kwlp,.repo,build,target --
exclude-ext=out,trace --exclude-list-file=$WORKSPACE/../tmp/slocExFile.txt -
-xml -out=build/cloc.xml .
xsltproc $WORKSPACE/../tmp/sloccount.xsl build/cloc.xml > build/my_cloc.sc

cloc --exclude-
dir=bin,gen,libs,obj,save,.settings,.kwps,.kwlp,.repo,build,target --
exclude-ext=out,trace --exclude-list-file=$WORKSPACE/../tmp/slocExFile.txt .

pwd
find . -name *SNAPSHOT.*


ls -l cmsDeviceServer/target/*ar
ls -l cmsPortalServer/target/*ar

0 个答案:

没有答案