我们使用mercurial 3.7.1版本作为源代码存储库工具,使用Jenkins 1.613作为CI工具。
我们有一个父级回购和两个子回购。每当dev提交父repo的更改并且Jenkins执行构建时,构建成功;当Dev对其中一个子仓库进行更改时,Jenkins会进行构建,构建也会成功。
现在的问题是:当他在父级仓库和子仓库上进行更改时,Jenkins构建失败,说找不到类。为什么会这样?
父repo被命名为CMS,子repo被命名为DeviceServer和PortalServer。
我的构建脚本或mercurial有什么问题吗?
以下是我的构建脚本:
#!/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