Use lf-maven-stage for staging 29/78129/4
authorThanh Ha <thanh.ha@linuxfoundation.org>
Mon, 26 Nov 2018 07:51:22 +0000 (15:51 +0800)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Tue, 27 Nov 2018 17:51:59 +0000 (01:51 +0800)
Consolidate on lf-maven-stage for staging the staging repository
for autorelease builds.

Issue: RELENG-77
Change-Id: Ib9066f85ff135bbba88410e8e2efb5345311c414
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
jjb/autorelease/autorelease-macros.yaml
jjb/autorelease/autorelease-maven-deploy.sh [deleted file]
jjb/autorelease/autorelease-projects.yaml
jjb/autorelease/autorelease-templates.yaml

index e66dc54b666d246aed896307430c97457daf16f5..b9edf7feb3d6b913077fd3de2235e55459c5bddb 100644 (file)
           deactivate
           rm -rf $WORKSPACE/venv
 
-- builder:
-    name: autorelease-maven-deploy
-    builders:
-      - shell: !include-raw: autorelease-maven-deploy.sh
-
 - builder:
     name: autorelease-maven-sources
     builders:
diff --git a/jjb/autorelease/autorelease-maven-deploy.sh b/jjb/autorelease/autorelease-maven-deploy.sh
deleted file mode 100644 (file)
index 82e52fe..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/bash -l
-# SPDX-License-Identifier: EPL-1.0
-##############################################################################
-# Copyright (c) 2015 The Linux Foundation and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-##############################################################################
-
-STAGING_LOG="$WORKSPACE/deploy-staged-repository.log"
-
-# Assuming that mvn deploy created the hide/from/pom/files/stage directory.
-cd hide/from/pom/files || exit 1
-mkdir -p m2repo/org/opendaylight/
-
-# 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.30.168.7:8081"}
-NEXUS_STAGING_PROFILE=${ODLNEXUS_STAGING_PROFILE:-425e43800fea70}
-NEXUS_STAGING_SERVER_ID=${ODLNEXUS_STAGING_SERVER_ID:-"opendaylight.staging"}
-
-rsync -avz --remove-source-files \
-           --exclude 'maven-metadata*' \
-           --exclude '_remote.repositories' \
-           --exclude 'resolver-status.properties' \
-           "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"
-
-# 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
index f0a200402575c3fbb1e9f102e66f7745318671b9..afafe62d7e29b3240160f3cc6ea249dcf04a1740 100644 (file)
@@ -41,6 +41,7 @@
         **/target/failsafe-reports/failsafe-summary.xml
         **/hs_err_*.log
         **/target/feature/feature.xml
+    staging-profile-id: 425e43800fea70
     # TODO: **/*.hprof is too large, compress with xz first
 
 - project:
index 50a23191e5080fa7f000a29415e6238eb7447310..db905e30f3f158b192d771e6849b8d4687f20923 100644 (file)
           name: ARCHIVE_ARTIFACTS
           default: '{archive-artifacts}'
           description: Artifacts to archive to the logs server.
+      - string:
+          name: STAGING_PROFILE_ID
+          default: '{staging-profile-id}'
+          description: Nexus staging profile ID.
 
     scm:
       - git:
       - autorelease-cfp:
           autorelease-settings: 'autorelease-settings'
           global-settings: 'odl-global-settings'
+      - lf-infra-create-netrc:
+          server-id: '{mvn-staging-id}'
       - autorelease-generate-release-patches
       - autorelease-generate-artifact-versions
       - autorelease-distribute-taglist
               $EXTRA_MVN_OPTS
               -Pintegrationtests,repoBuild
               -Dcheckstyle.skip=true
-              -DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
+              -DaltDeploymentRepository=staging::default::file:"$WORKSPACE"/m2repo
               {opendaylight-infra-mvn-opts}
           java-opts:
             - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
           settings-type: cfp
           global-settings: 'global-settings'
           global-settings-type: cfp
-      - autorelease-maven-deploy
+      - lf-maven-stage
       - autorelease-get-integration-test-variables
       - autorelease-maven-sources:
           opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'