X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fautorelease%2Finclude-raw-autorelease-maven-deploy.sh;h=33c835b81668e8133310eb3a22fa466014784f23;hb=54c6bd5abbaf36e216e554fb114cc1354b0b8510;hp=8bf44222416baeb9048907f0aadb2d861a23e910;hpb=862f17e0a86c61955646a2df56eea0b8e757f990;p=releng%2Fbuilder.git diff --git a/jjb/autorelease/include-raw-autorelease-maven-deploy.sh b/jjb/autorelease/include-raw-autorelease-maven-deploy.sh index 8bf442224..33c835b81 100644 --- a/jjb/autorelease/include-raw-autorelease-maven-deploy.sh +++ b/jjb/autorelease/include-raw-autorelease-maven-deploy.sh @@ -9,40 +9,48 @@ # http://www.eclipse.org/legal/epl-v10.html ############################################################################## -# Job will pass in a variable ${DATESTAMP} if this variable is false than we -# we are likely releasing a release candidate. We should skip closing the -# Nexus staging repository so that we can sign the artifacts. -SKIP_STAGING_CLOSE=false -if [ "${DATESTAMP}" == "false" ] -then - SKIP_STAGING_CLOSE=true -fi +STAGING_LOG="$WORKSPACE/deploy-staged-repository.log" -mkdir -p hide/from/pom/files -cd hide/from/pom/files +# Assuming that mvn deploy created the hide/from/pom/files/stage directory. +cd hide/from/pom/files || exit 1 mkdir -p m2repo/org/opendaylight/ -(IFS=' -' -for m in `xmlstarlet sel -N x=http://maven.apache.org/POM/4.0.0 -t -m '//x:modules' -v '//x:module' ../../../../pom.xml`; do - rsync -avz --exclude 'maven-metadata*' \ - --exclude '_remote.repositories' \ - --exclude 'resolver-status.properties' \ - "/tmp/r/org/opendaylight/$m" m2repo/org/opendaylight/ -done) +# ODLNEXUSPROXY is used to define the location of the Nexus server used by the CI system. +# by default it should be set to https://nexus.opendaylight.org +# in cases where an internal ci system is using multiple NEXUS systems one for artifacts and another for staging, +# we can override using ODLNEXUS_STAGING_URL to route the staging build to the 2nd server. +# (most CI setups where a single Nexus server is used, ODLNEXUS_STAGING_URL should be left unset) +NEXUS_STAGING_URL=${ODLNEXUS_STAGING_URL:-"http://10.29.8.46:8081"} +NEXUS_STAGING_PROFILE=${ODLNEXUS_STAGING_PROFILE:-425e43800fea70} +NEXUS_STAGING_SERVER_ID=${ODLNEXUS_STAGING_SERVER_ID:-"opendaylight.staging"} -# Add exception for integration project since they release under the -# integration top-level project. -rsync -avz --exclude 'maven-metadata*' \ +rsync -avz --remove-source-files \ + --exclude 'maven-metadata*' \ --exclude '_remote.repositories' \ --exclude 'resolver-status.properties' \ - "/tmp/r/org/opendaylight/integration" m2repo/org/opendaylight/ + "stage/org/opendaylight" m2repo/org/ + +"$MVN" -V -B org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8:deploy-staged-repository \ + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ + -DrepositoryDirectory="$(pwd)/m2repo" \ + -DnexusUrl="$NEXUS_STAGING_URL" \ + -DstagingProfileId="$NEXUS_STAGING_PROFILE" \ + -DserverId="$NEXUS_STAGING_SERVER_ID" \ + -s "$SETTINGS_FILE" \ + -gs "$GLOBAL_SETTINGS_FILE" | tee "$STAGING_LOG" -mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.2:deploy-staged-repository \ - -DskipStagingRepositoryClose=${SKIP_STAGING_CLOSE} \ - -DrepositoryDirectory="`pwd`/m2repo" \ - -DnexusUrl=http://nexus.opendaylight.org/ \ - -DstagingProfileId="425e43800fea70" \ - -DserverId="opendaylight.staging" \ - -s $SETTINGS_FILE \ - -gs $GLOBAL_SETTINGS_FILE | tee $WORKSPACE/deploy-staged-repository.log +# Log all files larger than 200 MB into large-files.log +while IFS= read -r -d '' file +do + FILE_SIZE=$(du --summarize --block-size 1 "$file" | awk '{print $1}') + # Check if file size is larger than 200 MB + if [[ $FILE_SIZE -gt 209715200 ]]; then + echo "$FILE_SIZE $file" >> "$WORKSPACE/large-files.log" + fi +done < <(find "$(pwd)/m2repo" -type f -print0) + +# Detect if staging failed: mvn always exits 0 even if staging failed. +if grep '^\[ERROR\]' "$STAGING_LOG"; then + echo "Error creating staging repo. Refer to logs above for details." + exit 1 +fi