Updated release process for operators
This commit is contained in:
committed by
Luke J Powlett
parent
59baa97e91
commit
b9d48aa980
45
.travis.yml
45
.travis.yml
@@ -43,7 +43,7 @@ jobs:
|
||||
env:
|
||||
- MQ_ARCHIVE_REPOSITORY_DEV=$MQ_915_ARCHIVE_REPOSITORY_DEV_AMD64
|
||||
script: bash -e travis-build-scripts/run.sh
|
||||
- if: branch = private-master OR tag =~ ^pre-release*
|
||||
- if: branch = private-master OR tag =~ ^release-candidate*
|
||||
name: "Multi-Arch AMD64 build"
|
||||
os: linux
|
||||
env:
|
||||
@@ -51,31 +51,24 @@ jobs:
|
||||
- MQ_ARCHIVE_REPOSITORY=$MQ_915_ARCHIVE_REPOSITORY_AMD64
|
||||
- MQ_ARCHIVE_REPOSITORY_DEV=$MQ_915_ARCHIVE_REPOSITORY_DEV_AMD64
|
||||
script: bash -e travis-build-scripts/run.sh
|
||||
- if: branch = private-master OR tag =~ ^pre-release*
|
||||
name: "Multi-Arch PPC64LE build"
|
||||
os: linux-ppc64le
|
||||
env:
|
||||
- BUILD_ALL=true
|
||||
- TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
|
||||
# - MQ_ARCHIVE_REPOSITORY=$MQ_915_ARCHIVE_REPOSITORY_PPC64LE
|
||||
- MQ_ARCHIVE_REPOSITORY_DEV=$MQ_915_ARCHIVE_REPOSITORY_DEV_PPC64LE
|
||||
script: bash -e travis-build-scripts/run.sh
|
||||
- if: branch = private-master OR tag =~ ^pre-release*
|
||||
name: "Multi-Arch S390X build"
|
||||
os: linux-s390
|
||||
env:
|
||||
- BUILD_ALL=true
|
||||
- TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
|
||||
# - MQ_ARCHIVE_REPOSITORY=$MQ_915_ARCHIVE_REPOSITORY_S390X
|
||||
- MQ_ARCHIVE_REPOSITORY_DEV=$MQ_915_ARCHIVE_REPOSITORY_DEV_S390X
|
||||
script: bash -e travis-build-scripts/run.sh
|
||||
- stage: deploy
|
||||
name: "Pre-release deploy"
|
||||
if: tag =~ ^pre-release*
|
||||
script: bash -e travis-build-scripts/release.sh staging
|
||||
- name: "Production release deploy"
|
||||
if: tag =~ ^production-release*
|
||||
script: bash -e travis-build-scripts/release.sh production
|
||||
# - if: branch = private-master OR tag =~ ^release-candidate*
|
||||
# name: "Multi-Arch PPC64LE build"
|
||||
# os: linux-ppc64le
|
||||
# env:
|
||||
# - BUILD_ALL=true
|
||||
# - TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
|
||||
# # - MQ_ARCHIVE_REPOSITORY=$MQ_915_ARCHIVE_REPOSITORY_PPC64LE
|
||||
# - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_915_ARCHIVE_REPOSITORY_DEV_PPC64LE
|
||||
# script: bash -e travis-build-scripts/run.sh
|
||||
# - if: branch = private-master OR tag =~ ^release-candidate*
|
||||
# name: "Multi-Arch S390X build"
|
||||
# os: linux-s390
|
||||
# env:
|
||||
# - BUILD_ALL=true
|
||||
# - TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
|
||||
# # - MQ_ARCHIVE_REPOSITORY=$MQ_915_ARCHIVE_REPOSITORY_S390X
|
||||
# - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_915_ARCHIVE_REPOSITORY_DEV_S390X
|
||||
# script: bash -e travis-build-scripts/run.sh
|
||||
|
||||
before_install:
|
||||
- make install-build-deps
|
||||
|
||||
11
Makefile
11
Makefile
@@ -113,10 +113,6 @@ endif
|
||||
MQ_IMAGE_FULL_RELEASE_NAME=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)
|
||||
MQ_IMAGE_DEV_FULL_RELEASE_NAME=$(MQ_IMAGE_DEVSERVER):$(MQ_TAG)
|
||||
|
||||
ifeq "$(MQ_DELIVERY_REGISTRY_HOSTNAME)" "ibmcom"
|
||||
MQ_IMAGE_DEVSERVER_DOCKERHUB=mq
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
# Build targets
|
||||
###############################################################################
|
||||
@@ -334,13 +330,6 @@ push-devserver:
|
||||
$(COMMAND) tag $(MQ_IMAGE_DEVSERVER)\:$(MQ_TAG) $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME)
|
||||
$(COMMAND) push $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME)
|
||||
|
||||
.PHONY: push-devserver-dockerhub
|
||||
push-devserver-dockerhub:
|
||||
$(info $(SPACER)$(shell printf $(TITLE)"Push developer image to $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END)))
|
||||
$(COMMAND) login -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL)
|
||||
$(COMMAND) tag $(MQ_IMAGE_DEVSERVER)\:$(MQ_TAG) $(MQ_DELIVERY_REGISTRY_HOSTNAME)/$(MQ_IMAGE_DEVSERVER_DOCKERHUB):$(MQ_TAG)
|
||||
$(COMMAND) push $(MQ_DELIVERY_REGISTRY_HOSTNAME)/$(MQ_IMAGE_DEVSERVER_DOCKERHUB):$(MQ_TAG)
|
||||
|
||||
.PHONY: pull-advancedserver
|
||||
pull-advancedserver:
|
||||
$(info $(SPACER)$(shell printf $(TITLE)"Pull production image from $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END)))
|
||||
|
||||
@@ -1,108 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# © Copyright IBM Corporation 2019, 2020
|
||||
#
|
||||
# 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 -e
|
||||
|
||||
# staging or production
|
||||
TYPE=""
|
||||
MANIFEST_FILE=manifest-9.1.5.yaml
|
||||
|
||||
# set type of release
|
||||
if [ ! -z $1 ]; then
|
||||
case "$1" in
|
||||
staging) TYPE=$1
|
||||
;;
|
||||
production) TYPE=$1
|
||||
;;
|
||||
*) echo "ERROR: Release type ( staging | production ) must passed to release.sh"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo "ERROR: Release type ( staging | production ) must passed to release.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Pull all images from default repository
|
||||
ARCH=amd64 make pull-devserver
|
||||
ARCH=ppc64le make pull-devserver
|
||||
ARCH=s390x make pull-devserver
|
||||
|
||||
ARCH=amd64 make pull-advancedserver
|
||||
# ARCH=ppc64le make pull-advancedserver
|
||||
# ARCH=s390x make pull-advancedserver
|
||||
|
||||
|
||||
function set_staging_registry {
|
||||
export MQ_DELIVERY_REGISTRY_HOSTNAME=$MQ_STAGING_REGISTRY
|
||||
export MQ_DELIVERY_REGISTRY_NAMESPACE=""
|
||||
export MQ_DELIVERY_REGISTRY_USER=$MQ_STAGING_REGISTRY_USER
|
||||
export MQ_DELIVERY_REGISTRY_CREDENTIAL=$MQ_STAGING_REGISTRY_CREDENTIAL
|
||||
}
|
||||
|
||||
function set_docker_hub {
|
||||
export MQ_DELIVERY_REGISTRY_HOSTNAME=ibmcom
|
||||
export MQ_DELIVERY_REGISTRY_NAMESPACE=""
|
||||
export MQ_DELIVERY_REGISTRY_USER=$MQ_DOCKERHUB_REGISTRY_USER
|
||||
export MQ_DELIVERY_REGISTRY_CREDENTIAL=$MQ_DOCKERHUB_REGISTRY_CREDENTIAL
|
||||
}
|
||||
|
||||
function set_production_registry {
|
||||
export MQ_DELIVERY_REGISTRY_HOSTNAME=$MQ_PRODUCTION_REGISTRY
|
||||
export MQ_DELIVERY_REGISTRY_NAMESPACE=""
|
||||
export MQ_DELIVERY_REGISTRY_USER=$MQ_PRODUCTION_REGISTRY_USER
|
||||
export MQ_DELIVERY_REGISTRY_CREDENTIAL=$MQ_PRODUCTION_REGISTRY_CREDENTIAL
|
||||
}
|
||||
|
||||
if [ "$TYPE" = "staging" ]; then
|
||||
|
||||
set_staging_registry
|
||||
|
||||
# push production images to staging registy
|
||||
./travis-build-scripts/push.sh production amd64
|
||||
# ./travis-build-scripts/push.sh production ppc64le
|
||||
# ./travis-build-scripts/push.sh production s390x
|
||||
|
||||
elif [ "$TYPE" = "production" ]; then
|
||||
|
||||
# pull production images from staging
|
||||
set_staging_registry
|
||||
|
||||
ARCH=amd64 make pull-advancedserver
|
||||
ARCH=ppc64le make pull-advancedserver
|
||||
ARCH=s390x make pull-advancedserver
|
||||
|
||||
# release developer image with fat manifest
|
||||
set_docker_hub
|
||||
|
||||
ARCH=amd64 make push-devserver-dockerhub
|
||||
ARCH=ppc64le make push-devserver-dockerhub
|
||||
ARCH=s390x make push-devserver-dockerhub
|
||||
|
||||
curl -LO https://github.com/estesp/manifest-tool/releases/download/v0.9.0/manifest-tool-linux-amd64
|
||||
chmod a+x manifest-tool-linux-amd64
|
||||
|
||||
docker login --username $MQ_DOCKERHUB_REGISTRY_USER --password $MQ_DOCKERHUB_REGISTRY_CREDENTIAL
|
||||
./manifest-tool-linux-amd64 push from-spec manifests/dockerhub/$MANIFEST_FILE
|
||||
./manifest-tool-linux-amd64 push from-spec manifests/dockerhub/manifest-latest.yaml
|
||||
|
||||
# release production image
|
||||
set_production_registry
|
||||
|
||||
./travis-build-scripts/push.sh production amd64
|
||||
# ./travis-build-scripts/push.sh production ppc64le
|
||||
# ./travis-build-scripts/push.sh production s390x
|
||||
fi
|
||||
Reference in New Issue
Block a user