From db2347d5cb9f13ede8223c9001149e0338710f43 Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Wed, 12 Jun 2019 09:53:40 -0400 Subject: [PATCH] Add shell script to extract RMr packages from builder Adds a post-docker script to copy deb package out of CI container. Also adds Jenkins merge job, because someday the merge job will push the deb to cloudpackage.io. Signed-off-by: Lott, Christopher (cl778h) Change-Id: Ia3f3352fb1f87b459fe125c1b12f34c09a4a56b4 --- jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml | 13 ++++++---- jjb/ric-plt-lib-rmr/shell/copy-rmr-packages.sh | 35 ++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 5 deletions(-) create mode 100755 jjb/ric-plt-lib-rmr/shell/copy-rmr-packages.sh diff --git a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml index b5378a11..555fb364 100644 --- a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml +++ b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml @@ -9,12 +9,12 @@ # values apply to all RIC docker-build projects. # factored out in case rmr needs multiple projects. # use a specific name to prevent reuse attempts - # bcos anchors don't cross document boundaries. + # because anchors don't cross document boundaries. name: rmr-docker-common build-node: ubuntu1804-docker-4c-4g # pull from the public mirror + releases registry container-public-registry: nexus3.o-ran-sc.org:10001 - # push to the staging repo bcos all builds are RCs + # push to the staging repo because all builds are RCs container-push-registry: nexus3.o-ran-sc.org:10004 stream: - master: @@ -30,13 +30,16 @@ docker-build-args: '--network=host -f ci/Dockerfile' # image name docker-name: '{name}' - # image tag, use a fixed value + # image tag; use a fixed value container-tag-method: latest # maven settings file has docker credentials mvn-settings: ric-plt-lib-rmr-settings + # copy deb to Jenkins filesystem + post_docker_build_script: !include-raw-escape: + - shell/copy-rmr-packages.sh jobs: - # verify only; no merge bcos no image is pushed - - gerrit-docker-verify + # merge pushes deb, not image + - '{project-name}-gerrit-docker-jobs' <<: *rmr_docker_common - project: diff --git a/jjb/ric-plt-lib-rmr/shell/copy-rmr-packages.sh b/jjb/ric-plt-lib-rmr/shell/copy-rmr-packages.sh new file mode 100755 index 00000000..1fa1e04c --- /dev/null +++ b/jjb/ric-plt-lib-rmr/shell/copy-rmr-packages.sh @@ -0,0 +1,35 @@ +#!/bin/bash +#================================================================================== +# Copyright (c) 2019 Nokia +# Copyright (c) 2018-2019 AT&T Intellectual Property. +# +# 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. +#================================================================================== + +set -eux -o pipefail +echo "--> copy-rmr-packages.sh" + +# extracts to host the artifacts created by the builder + +# This file is created by RMr library build process +# with path(s) to the generated artifact(s) +file="/tmp/rmr_deb_path" + +# Create a container from the build image by running a trivial command. +# DOCKER_NAME and DOCKER_IMAGE_TAG are injected by previous steps +container=$(docker run -d "$DOCKER_NAME":"$DOCKER_IMAGE_TAG" ls "$file") +docker logs "$container" +docker cp "$container:$file" . +filebase=$(basename "$file") +deb=$(cat "$filebase") +docker cp "$container:$deb" . -- 2.16.6