diff options
-rw-r--r-- | .tito/packages/openshift-ansible | 2 | ||||
-rwxr-xr-x | hack/build-images.sh | 20 | ||||
-rwxr-xr-x | hack/push-release.sh | 56 | ||||
-rw-r--r-- | openshift-ansible.spec | 28 |
4 files changed, 63 insertions, 43 deletions
diff --git a/.tito/packages/openshift-ansible b/.tito/packages/openshift-ansible index 406099fb7..a83752c29 100644 --- a/.tito/packages/openshift-ansible +++ b/.tito/packages/openshift-ansible @@ -1 +1 @@ -3.6.122-1 ./ +3.6.123-1 ./ diff --git a/hack/build-images.sh b/hack/build-images.sh index ce421178f..6e6d360bf 100755 --- a/hack/build-images.sh +++ b/hack/build-images.sh @@ -47,7 +47,7 @@ if [ "$help" = true ]; then echo " default: openshift/origin-ansible" echo echo " --version=VERSION" - echo " The version used to tag the image" + echo " The version used to tag the image (can be a comma-separated list)" echo " default: latest" echo echo " --no-cache" @@ -62,25 +62,33 @@ if [ "$help" = true ]; then exit 0 fi + if [ "$verbose" = true ]; then set -x fi BUILD_STARTTIME=$(date +%s) comp_path=$source_root/ -docker_tag=${prefix}:${version} + +# turn comma-separated versions into -t args for docker build +IFS=',' read -r -a version_arr <<< "$version" +docker_tags=() +for tag in "${version_arr[@]}"; do + docker_tags+=("-t" "${prefix}:${tag}") +done + echo echo -echo "--- Building component '$comp_path' with docker tag '$docker_tag' ---" -docker build ${options} -t $docker_tag $comp_path -BUILD_ENDTIME=$(date +%s); echo "--- $docker_tag took $(($BUILD_ENDTIME - $BUILD_STARTTIME)) seconds ---" +echo "--- Building component '$comp_path' with docker tag(s) '$version' ---" +docker build ${options} "${docker_tags[@]}" $comp_path +BUILD_ENDTIME=$(date +%s); echo "--- ${version} took $(($BUILD_ENDTIME - $BUILD_STARTTIME)) seconds ---" echo echo echo echo echo "++ Active images" -docker images | grep ${prefix} | grep ${version} | sort +docker images | grep ${prefix} | sort echo diff --git a/hack/push-release.sh b/hack/push-release.sh index 131ed83ca..1f41ab179 100755 --- a/hack/push-release.sh +++ b/hack/push-release.sh @@ -1,55 +1,41 @@ #!/bin/bash -# This script pushes all of the built images to a registry. +# This script pushes a built image to a registry. # -# Set OS_PUSH_BASE_REGISTRY to prefix the destination images +# Set OS_PUSH_BASE_REGISTRY to prefix the destination images e.g. +# OS_PUSH_BASE_REGISTRY="docker.io/" # +# Set OS_PUSH_TAG with a comma-separated list for pushing same image +# to multiple tags e.g. +# OS_PUSH_TAG="latest,v3.6" set -o errexit set -o nounset set -o pipefail -STARTTIME=$(date +%s) -OS_ROOT=$(dirname "${BASH_SOURCE}")/.. +starttime=$(date +%s) -PREFIX="${PREFIX:-openshift/origin-ansible}" +# image name without repo or tag. +image="${PREFIX:-openshift/origin-ansible}" -# Go to the top of the tree. -cd "${OS_ROOT}" +# existing local tag on the image we want to push +source_tag="${OS_TAG:-latest}" -# Allow a release to be repushed with a tag -tag="${OS_PUSH_TAG:-}" -if [[ -n "${tag}" ]]; then - tag=":${tag}" -else - tag=":latest" -fi - -# Source tag -source_tag="${OS_TAG:-}" -if [[ -z "${source_tag}" ]]; then - source_tag="latest" -fi - -images=( - ${PREFIX} -) +# Enable retagging a build with one or more tags for push +IFS=',' read -r -a push_tags <<< "${OS_PUSH_TAG:-latest}" +registry="${OS_PUSH_BASE_REGISTRY:-}" +# force push if available PUSH_OPTS="" if docker push --help | grep -q force; then PUSH_OPTS="--force" fi -if [[ "${OS_PUSH_BASE_REGISTRY-}" != "" || "${tag}" != "" ]]; then - set -e - for image in "${images[@]}"; do - docker tag "${image}:${source_tag}" "${OS_PUSH_BASE_REGISTRY-}${image}${tag}" - done - set +e -fi - -for image in "${images[@]}"; do - docker push ${PUSH_OPTS} "${OS_PUSH_BASE_REGISTRY-}${image}${tag}" +set -x +for tag in "${push_tags[@]}"; do + docker tag "${image}:${source_tag}" "${registry}${image}:${tag}" + docker push ${PUSH_OPTS} "${registry}${image}:${tag}" done +set +x -ret=$?; ENDTIME=$(date +%s); echo "$0 took $(($ENDTIME - $STARTTIME)) seconds"; exit "$ret" +endtime=$(date +%s); echo "$0 took $(($endtime - $starttime)) seconds"; exit 0 diff --git a/openshift-ansible.spec b/openshift-ansible.spec index b3e097018..15b892219 100644 --- a/openshift-ansible.spec +++ b/openshift-ansible.spec @@ -9,7 +9,7 @@ %global __requires_exclude ^/usr/bin/ansible-playbook$ Name: openshift-ansible -Version: 3.6.122.0 +Version: 3.6.123 Release: 1%{?dist} Summary: Openshift and Atomic Enterprise Ansible License: ASL 2.0 @@ -280,6 +280,32 @@ Atomic OpenShift Utilities includes %changelog +* Fri Jun 23 2017 Jenkins CD Merge Bot <smunilla@redhat.com> 3.6.123-1 +- releases: enable build/push with multiple tags (lmeyer@redhat.com) +- Update template examples for 3.6 (rteague@redhat.com) +- Reverting v prefix introduced by stagecut (smunilla@redhat.com) +- Fixed readme doc. (kwoodson@redhat.com) +- Adding version field for stagecut (smunilla@redhat.com) +- Remove package_update from install playbook (rhcarvalho@gmail.com) +- Restart NetworkManager only if dnsmasq was used + (bliemli@users.noreply.github.com) +- remove extra close brace in example inventory (gpei@redhat.com) +- Adding option for serviceAccountConfig.limitSecretReferences + (kwoodson@redhat.com) +- doc: Add system_container examples to inventory (smilner@redhat.com) +- system_containers: Add openshift_ to other system_container vars + (smilner@redhat.com) +- system_containers: Add openshift_ to use_system_containers var + (smilner@redhat.com) +- detect etcd service name based on etcd runtime when restarting + (jchaloup@redhat.com) +- set proper etcd_data_dir for system container (jchaloup@redhat.com) +- etcd, system_container: do not mask etcd_container (gscrivan@redhat.com) +- etcd, system_container: do not enable system etcd (gscrivan@redhat.com) +- oc_atomic_container: Require 1.17.2 (smilner@redhat.com) +- Verify matched openshift_upgrade_nodes_label (rteague@redhat.com) +- bug 1457642. Use same SG index to avoid seeding timeout (jcantril@redhat.com) + * Wed Jun 21 2017 Jenkins CD Merge Bot <smunilla@redhat.com> 3.6.122-1 - |