From a7799db552df63bde882e1bca497db069d787608 Mon Sep 17 00:00:00 2001 From: Thanh Ha Date: Mon, 26 Nov 2018 15:51:22 +0800 Subject: [PATCH] Use lf-maven-stage for staging Consolidate on lf-maven-stage for staging the staging repository for autorelease builds. Issue: RELENG-77 Change-Id: Ib9066f85ff135bbba88410e8e2efb5345311c414 Signed-off-by: Thanh Ha --- jjb/autorelease/autorelease-macros.yaml | 5 -- jjb/autorelease/autorelease-maven-deploy.sh | 56 --------------------- jjb/autorelease/autorelease-projects.yaml | 1 + jjb/autorelease/autorelease-templates.yaml | 10 +++- 4 files changed, 9 insertions(+), 63 deletions(-) delete mode 100644 jjb/autorelease/autorelease-maven-deploy.sh diff --git a/jjb/autorelease/autorelease-macros.yaml b/jjb/autorelease/autorelease-macros.yaml index e66dc54b6..b9edf7feb 100644 --- a/jjb/autorelease/autorelease-macros.yaml +++ b/jjb/autorelease/autorelease-macros.yaml @@ -63,11 +63,6 @@ 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 index 82e52fe8b..000000000 --- a/jjb/autorelease/autorelease-maven-deploy.sh +++ /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 diff --git a/jjb/autorelease/autorelease-projects.yaml b/jjb/autorelease/autorelease-projects.yaml index f0a200402..afafe62d7 100644 --- a/jjb/autorelease/autorelease-projects.yaml +++ b/jjb/autorelease/autorelease-projects.yaml @@ -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: diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml index 50a23191e..db905e30f 100644 --- a/jjb/autorelease/autorelease-templates.yaml +++ b/jjb/autorelease/autorelease-templates.yaml @@ -104,6 +104,10 @@ 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: @@ -137,6 +141,8 @@ - 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 @@ -155,7 +161,7 @@ $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' @@ -163,7 +169,7 @@ 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}' -- 2.36.6