From 34f7a57c5dbf67a371d409f6efea7fa6ee5a7905 Mon Sep 17 00:00:00 2001 From: Luke J Powlett Date: Wed, 4 Dec 2019 19:45:57 +0000 Subject: [PATCH] Pipeline changes for travis release (#43) * Added changes for travis release process * Renamed build scripts directory * Don't run basic build if tag is set * Pull production images from staging on production-release --- .travis.yml | 37 +++--- Makefile | 27 ++-- build-scripts/push-prod.sh | 30 ----- build-scripts/release.sh | 96 -------------- .../build.sh | 26 ++-- travis-build-scripts/push.sh | 54 ++++++++ travis-build-scripts/release.sh | 121 ++++++++++++++++++ .../build.sh => travis-build-scripts/run.sh | 23 ++-- .../test.sh | 12 +- 9 files changed, 229 insertions(+), 197 deletions(-) delete mode 100755 build-scripts/push-prod.sh delete mode 100755 build-scripts/release.sh rename build-scripts/push-dev.sh => travis-build-scripts/build.sh (53%) create mode 100755 travis-build-scripts/push.sh create mode 100755 travis-build-scripts/release.sh rename build-scripts/build.sh => travis-build-scripts/run.sh (60%) rename {build-scripts => travis-build-scripts}/test.sh (77%) diff --git a/.travis.yml b/.travis.yml index f2e500f..5bec009 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,47 +37,44 @@ jobs: include: - stage: build name: "Basic build" - if: branch != private-master + if: branch != private-master AND tag IS blank os: linux env: - - MQ_ARCHIVE_REPOSITORY=$MQ_914_ARCHIVE_REPOSITORY_AMD64 - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_914_ARCHIVE_REPOSITORY_DEV_AMD64 - script: bash -e build-scripts/build.sh - - if: branch = private-master + script: bash -e travis-build-scripts/run.sh + - if: branch = private-master OR tag =~ ^pre-release* name: "Multi-Arch AMD64 build" os: linux env: - BUILD_ALL=true - MQ_ARCHIVE_REPOSITORY=$MQ_914_ARCHIVE_REPOSITORY_AMD64 - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_914_ARCHIVE_REPOSITORY_DEV_AMD64 - script: bash -e build-scripts/build.sh - - if: branch = private-master + 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_914_ARCHIVE_REPOSITORY_PPC64LE - script: bash -e build-scripts/build.sh - - if: branch = private-master + - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_914_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_914_ARCHIVE_REPOSITORY_S390X - script: bash -e build-scripts/build.sh - # - stage: deploy - # name: "Pre-release deploy" - # if: tag =~ ^pre-release* - # deploy: - # provider: script - # script: bash -e build-scripts/release.sh staging - # - name: "Production release deploy" - # if: tag =~ ^release-production* - # deploy: - # provider: script - # script: bash -e build-scripts/release.sh production + - MQ_ARCHIVE_REPOSITORY_DEV=$MQ_914_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 before_install: - make install-build-deps diff --git a/Makefile b/Makefile index afed746..68411b3 100644 --- a/Makefile +++ b/Makefile @@ -334,31 +334,30 @@ pull-mq-archive-dev: .PHONY: push-advancedserver push-advancedserver: $(info $(SPACER)$(shell printf $(TITLE)"Push production image to $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END))) - docker login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL) - docker tag $(MQ_IMAGE_ADVANCEDSERVER)\:$(MQ_TAG) $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) - docker push $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) + $(COMMAND) login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL) + $(COMMAND) tag $(MQ_IMAGE_ADVANCEDSERVER)\:$(MQ_TAG) $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) + $(COMMAND) push $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) .PHONY: push-devserver push-devserver: $(info $(SPACER)$(shell printf $(TITLE)"Push developer image to $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END))) - echo $(ARCH) - docker login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL) - docker tag $(MQ_IMAGE_DEVSERVER)\:$(MQ_TAG) $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME) - docker push $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME) + $(COMMAND) login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL) + $(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: pull-advancedserver pull-advancedserver: $(info $(SPACER)$(shell printf $(TITLE)"Pull production image from $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END))) - docker login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL) - docker pull $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) - docker tag $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) $(MQ_IMAGE_FULL_RELEASE_NAME) + $(COMMAND) login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL) + $(COMMAND) pull $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) + $(COMMAND) tag $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) $(MQ_IMAGE_ADVANCEDSERVER)\:$(MQ_TAG) .PHONY: pull-devserver pull-devserver: - $(info $(SPACER)$(shell printf $(TITLE)"Push developer image to $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END))) - docker login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL) - docker pull $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME) - docker tag $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME) $(MQ_IMAGE_DEV_FULL_RELEASE_NAME) + $(info $(SPACER)$(shell printf $(TITLE)"Pull developer image from $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END))) + $(COMMAND) login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL) + $(COMMAND) pull $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME) + $(COMMAND) tag $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME) $(MQ_IMAGE_DEVSERVER)\:$(MQ_TAG) .PHONY: clean clean: diff --git a/build-scripts/push-prod.sh b/build-scripts/push-prod.sh deleted file mode 100755 index c002a41..0000000 --- a/build-scripts/push-prod.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -# © Copyright IBM Corporation 2019 -# -# 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 - -if [ ! -z $1 ]; then - export ARCH=$1 -fi - -if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - echo Not pushing as we are a pull request - exit 0 -fi - -echo 'Pushing Production image...' && echo -en 'travis_fold:start:push-advancedserver\\r' -make push-advancedserver -echo -en 'travis_fold:end:push-advancedserver\\r' diff --git a/build-scripts/release.sh b/build-scripts/release.sh deleted file mode 100755 index 1ddb92e..0000000 --- a/build-scripts/release.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash - -# © Copyright IBM Corporation 2019 -# -# 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.4.yaml - -# set type of release -if [ ! -z $1 ]; then - case "$1" in - staging) TYPE=$1 - ;; - production) TYPE=$1 - ;; - *) echo "echo Release type ( staging | production ) must passed to release.sh" - exit 1 - ;; - esac -else - echo "Release type ( staging | production ) must passed to release.sh" - exit 1 -fi - -if [ TYPE = "staging" ]; then - # push developer image to pre-release registry - ./build-scripts/push-dev.sh amd64 - ./build-scripts/push-dev.sh ppc64le - ./build-scripts/push-dev.sh s390x - - # staging registry - export MQ_DELIVERY_REGISTRY_HOSTNAME=$MQ_STAGING_REGISTRY - export MQ_DELIVERY_REGISTRY_USER=$MQ_STAGING_REGISTRY_USER - export MQ_DELIVERY_REGISTRY_CREDENTIAL=$MQ_STAGING_REGISTRY_CREDENTIAL - - # push production image to staging registy - ./build-scripts/push-prod.sh amd64 - ./build-scripts/push-prod.sh ppc64le - ./build-scripts/push-prod.sh s390x - -elif [ TYPE = "production" ]; then - # pull developer image from pre-release registry - make pull-devserver - # pull production image from staging - export MQ_DELIVERY_REGISTRY_HOSTNAME=$MQ_STAGING_REGISTRY - export MQ_DELIVERY_REGISTRY_USER=$MQ_STAGING_REGISTRY_USER - export MQ_DELIVERY_REGISTRY_CREDENTIAL=$MQ_STAGING_REGISTRY_CREDENTIAL - make pull-advancedserver - - # release developer images with fat manifests - # dockerhub - export MQ_DELIVERY_REGISTRY_HOSTNAME=ibmcom - export MQ_DELIVERY_REGISTRY_NAMESPACE=mq - export MQ_DELIVERY_REGISTRY_USER=$MQ_DOCKERHUB_REGISTRY_USER - export MQ_DELIVERY_REGISTRY_CREDENTIAL=$MQ_DOCKERHUB_REGISTRY_CREDENTIAL - # UNCOMMENT WHEN FINISHED TESTING - # ./build-scripts/push-dev.sh amd64 - # ./build-scripts/push-dev.sh ppc64le - # ./build-scripts/push-dev.sh s390x - - 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 - - # dockerstore - export MQ_DELIVERY_REGISTRY_HOSTNAME=ibmcorp - export MQ_DELIVERY_REGISTRY_NAMESPACE="" - # ./build-scripts/push-dev.sh amd64 - # ./build-scripts/push-dev.sh ppc64le - # ./build-scripts/push-dev.sh s390x - - # docker login --username $MQ_DOCKERHUB_REGISTRY_USER --password $MQ_DOCKERHUB_REGISTRY_CREDENTIAL - # ./manifest-tool-linux-amd64 push from-spec manifests/dockerstore/$MANIFEST_FILE - - # release production image - export MQ_DELIVERY_REGISTRY_HOSTNAME=$MQ_PRODUCTION_REGISTRY - export MQ_DELIVERY_REGISTRY_USER=$MQ_PRODUCTION_REGISTRY_USER - export MQ_DELIVERY_REGISTRY_CREDENTIAL=$MQ_PRODUCTION_REGISTRY_CREDENTIAL - # ./build-scripts/push-prod.sh amd64 - # ./build-scripts/push-prod.sh ppc64le - # ./build-scripts/push-prod.sh s390x -fi diff --git a/build-scripts/push-dev.sh b/travis-build-scripts/build.sh similarity index 53% rename from build-scripts/push-dev.sh rename to travis-build-scripts/build.sh index 30c42fd..83f789f 100755 --- a/build-scripts/push-dev.sh +++ b/travis-build-scripts/build.sh @@ -16,20 +16,14 @@ set -e -if [ ! -z $1 ]; then - export ARCH=$1 +echo 'Building Developer JMS test image...' && echo -en 'travis_fold:start:build-devjmstest\\r' +make build-devjmstest +echo -en 'travis_fold:end:build-devjmstest\\r' +echo 'Building Developer image...' && echo -en 'travis_fold:start:build-devserver\\r' +make build-devserver +echo -en 'travis_fold:end:build-devserver\\r' +if [ "$BUILD_ALL" = true ] ; then + echo 'Building Production image...' && echo -en 'travis_fold:start:build-advancedserver\\r' + make build-advancedserver + echo -en 'travis_fold:end:build-advancedserver\\r' fi - -if [ "$ARCH" != "amd64" ] ; then - echo No developer image to push as we are not an amd64 build - exit 0 -fi - -if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - echo Not pushing as we are a pull request - exit 0 -fi - -echo 'Pushing Developer image...' && echo -en 'travis_fold:start:push-devserver\\r' -make push-devserver -echo -en 'travis_fold:end:push-devserver\\r' diff --git a/travis-build-scripts/push.sh b/travis-build-scripts/push.sh new file mode 100755 index 0000000..7488896 --- /dev/null +++ b/travis-build-scripts/push.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# © Copyright IBM Corporation 2019 +# +# 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 + +if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then + echo "Not pushing as we are a pull request" + exit 0 +fi + +if [ ! -z $2 ]; then + export ARCH=$2 +fi + +function push_developer { + echo 'Pushing Developer image...' && echo -en 'travis_fold:start:push-devserver\\r' + make push-devserver + echo -en 'travis_fold:end:push-devserver\\r' +} + +function push_production { + echo 'Pushing Production image...' && echo -en 'travis_fold:start:push-advancedserver\\r' + make push-advancedserver + echo -en 'travis_fold:end:push-advancedserver\\r' +} + +# call relevant push function +if [ ! -z $1 ]; then + case "$1" in + developer) push_developer + ;; + production) push_production + ;; + *) echo "ERROR: Type ( developer | production ) must be passed to push.sh" + exit 1 + ;; + esac +else + echo "ERROR: Type ( developer | production ) must be passed to push.sh" + exit 1 +fi diff --git a/travis-build-scripts/release.sh b/travis-build-scripts/release.sh new file mode 100755 index 0000000..28cce57 --- /dev/null +++ b/travis-build-scripts/release.sh @@ -0,0 +1,121 @@ +#!/bin/bash + +# © Copyright IBM Corporation 2019 +# +# 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.4.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=mq + export MQ_DELIVERY_REGISTRY_USER=$MQ_DOCKERHUB_REGISTRY_USER + export MQ_DELIVERY_REGISTRY_CREDENTIAL=$MQ_DOCKERHUB_REGISTRY_CREDENTIAL +} + +function set_docker_store { + export MQ_DELIVERY_REGISTRY_HOSTNAME=ibmcorp + 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 images with fat manifests + set_docker_hub + + ./travis-build-scripts/push.sh developer amd64 + ./travis-build-scripts/push.sh developer ppc64le + ./travis-build-scripts/push.sh developer s390x + + 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 + + set_docker_store + + ./travis-build-scripts/push.sh developer amd64 + ./travis-build-scripts/push.sh developer ppc64le + ./travis-build-scripts/push.sh developer s390x + + docker login --username $MQ_DOCKERHUB_REGISTRY_USER --password $MQ_DOCKERHUB_REGISTRY_CREDENTIAL + ./manifest-tool-linux-amd64 push from-spec manifests/dockerstore/$MANIFEST_FILE + + # 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 diff --git a/build-scripts/build.sh b/travis-build-scripts/run.sh similarity index 60% rename from build-scripts/build.sh rename to travis-build-scripts/run.sh index 4cdf0ed..bccd4c6 100755 --- a/build-scripts/build.sh +++ b/travis-build-scripts/run.sh @@ -21,17 +21,16 @@ if [ "$(uname -m)" = "x86_64" ] ; then export ARCH="amd64" ; else export ARCH=$( echo 'Downgrading Docker (if necessary)...' && echo -en 'travis_fold:start:docker-downgrade\\r' eval "$DOCKER_DOWNGRADE" echo -en 'travis_fold:end:docker-downgrade\\r' -if [ "$ARCH" = "amd64" ] ; then - echo 'Building Developer JMS test image...' && echo -en 'travis_fold:start:build-devjmstest\\r' - make build-devjmstest - echo -en 'travis_fold:end:build-devjmstest\\r' - echo 'Building Developer image...' && echo -en 'travis_fold:start:build-devserver\\r' - make build-devserver - echo -en 'travis_fold:end:build-devserver\\r' -fi + +## Build images +./travis-build-scripts/build.sh + +## Test images +./travis-build-scripts/test.sh + +## Push images if [ "$BUILD_ALL" = true ] ; then - echo 'Building Production image...' && echo -en 'travis_fold:start:build-advancedserver\\r' - make build-advancedserver - echo -en 'travis_fold:end:build-advancedserver\\r' + ./travis-build-scripts/push.sh developer + ./travis-build-scripts/push.sh production fi -./build-scripts/test.sh + diff --git a/build-scripts/test.sh b/travis-build-scripts/test.sh similarity index 77% rename from build-scripts/test.sh rename to travis-build-scripts/test.sh index c30ea0f..485263d 100755 --- a/build-scripts/test.sh +++ b/travis-build-scripts/test.sh @@ -16,11 +16,9 @@ set -e -if [ "$ARCH" = "amd64" ] ; then - echo 'Testing Developer image...' && echo -en 'travis_fold:start:test-devserver\\r' - make test-devserver - echo -en 'travis_fold:end:test-devserver\\r' -fi +echo 'Testing Developer image...' && echo -en 'travis_fold:start:test-devserver\\r' +make test-devserver +echo -en 'travis_fold:end:test-devserver\\r' if [ "$BUILD_ALL" = true ] ; then echo 'Testing Production image...' && echo -en 'travis_fold:start:test-advancedserver\\r' make test-advancedserver @@ -33,7 +31,3 @@ else echo "Gosec not available on ppc64le/s390x...skipping gosec scan" fi echo -en 'travis_fold:end:gosec-scan\\r' -if [ "$BUILD_ALL" = true ] ; then - ./build-scripts/push-dev.sh - ./build-scripts/push-prod.sh -fi