deploy jenkins plugin pom.xml file.

This is a fix for bug 1208901.

  *modules/openstack_project/files/jenkins_job_builder/config/jenkins-plugin-jobs.yaml
     - move more details into jenkinsci-upload.sh

  *modules/jenkins/files/slave_scripts/maven-upload.sh
     - renamed to jenkinsci-upload.sh

  *modules/jenkins/files/slave_scripts/jenkinsci-upload.sh
     - created a versioned pom.xml file
     - deploy both hpi and pom file to repo.jenkins-ci.org

Change-Id: I6564e3ade04f3675ab7c269f26b8906385b5041f
This commit is contained in:
Khai Do 2013-08-06 15:27:29 -07:00
parent 8ced3c3034
commit 384b5472e2
3 changed files with 53 additions and 39 deletions

View File

@ -0,0 +1,46 @@
#!/bin/bash
#
# Copyright 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Upload java binaries to maven repositories
PROJECT=$1
VERSION=$2
META_DATA_FILE=$3
PLUGIN_FILE=$4
# Strip project name and extension leaving only the version.
VERSION=`echo ${PLUGIN_FILE} | sed -n "s/${PROJECT}-\(.*\).hpi/\1/p"`
# generate pom file with version info
POM_IN_ZIP=`unzip -Z -1 ${PLUGIN_FILE}|grep pom.xml`
unzip -o -j ${PLUGIN_FILE} ${POM_IN_ZIP}
sed "s/\${{project-version}}/${VERSION}/g" <pom.xml >${META_DATA_FILE}
# deploy plugin artifacts from workspace to repo.jenkins-ci.org
JENKINSCI_REPO="http://repo.jenkins-ci.org/list/releases/org/jenkins-ci/plugins"
JENKINSCI_REPO_CREDS="/home/jenkins/.jenkinsci-curl"
curl -X PUT \
--config ${JENKINSCI_REPO_CREDS} \
--data-binary @${META_DATA_FILE} \
-i "${JENKINSCI_REPO}/${PROJECT}/${VERSION}/${META_DATA_FILE}" > /dev/null 2>&1
curl -X PUT \
--config ${JENKINSCI_REPO_CREDS} \
--data-binary @${PLUGIN_FILE} \
-i "${JENKINSCI_REPO}/${PROJECT}/${VERSION}/${PLUGIN_FILE}" > /dev/null 2>&1
exit $?

View File

@ -1,32 +0,0 @@
#!/bin/bash
#
# Copyright 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Upload java binaries to maven repositories
PROJECT=$1
REPO_URL=$2
REPO_CRED_FILE=$3
FILENAME=`ls ${PROJECT}*.hpi`
# Strip project name and extension leaving only the version.
VERSION=`echo ${FILENAME} | sed -n "s/${PROJECT}-\(.*\).hpi/\1/p"`
curl -X PUT \
--config ${REPO_CRED_FILE} \
--data-binary @${FILENAME} \
-i "${REPO_URL}/${PROJECT}/${VERSION}/${FILENAME}" > /dev/null 2>&1
exit $?

View File

@ -69,16 +69,16 @@
- shell: | - shell: |
#!/bin/bash -xe #!/bin/bash -xe
TAG=`echo $ZUUL_REF | sed 's/^refs.tags.//'` TAG=`echo $ZUUL_REF | sed 's/^refs.tags.//'`
FILENAME="{name}-$TAG.hpi" FILENAME_HPI="{name}-$TAG.hpi"
# copy plugin plugin artifacts from tarballs to local workspace # copy plugin artifacts from tarballs to local workspace
rm -rf *.hpi rm -rf *.hpi
curl -o $FILENAME http://{tarball-site}/ci/{name}/$FILENAME curl -o $FILENAME_HPI http://{tarball-site}/ci/{name}/$FILENAME_HPI
# deploy plugin artifacts from workspace to repo.jenkins-ci.org # deploy to maven repository
JENKINSCI_REPO="http://repo.jenkins-ci.org/list/releases/org/jenkins-ci/plugins" FILENAME_POM="{name}-$TAG.pom"
JENKINSCI_REPO_CREDS="/home/jenkins/.jenkinsci-curl" /usr/local/jenkins/slave_scripts/jenkinsci-upload.sh {name} $TAG \
/usr/local/jenkins/slave_scripts/maven-upload.sh {name} $JENKINSCI_REPO $JENKINSCI_REPO_CREDS $FILENAME_POM $FILENAME_HPI
publishers: publishers:
- console-log - console-log