Pipeline changes for Entitled Registry (#38)
* Added makefile targets/variables to pull mq archive from remote * Updated makefile and travis build for multi arch dev/prod builds * Updated build deps to use arch specific dep * Removed glide for dependency management * Removed `MQ_SDK_ARCHIVE` download target * Make ARCH overridable in makefile * Only run golden path test on Power and Z builds * Only run gosec on amd64 build * Increased go to 1.12 in travis
This commit is contained in:
committed by
GitHub Enterprise
parent
c83aeb17c0
commit
1f4528d597
37
build-scripts/build.sh
Executable file
37
build-scripts/build.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/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
|
||||
|
||||
echo 'Downgrading Docker (if necessary)...' && echo -en 'travis_fold:start:docker-downgrade\\r'
|
||||
eval "$DOCKER_DOWNGRADE"
|
||||
echo -en 'travis_fold:end:docker-downgrade\\r'
|
||||
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'
|
||||
if [ "$BUILD_ALL" = true ] ; then
|
||||
echo 'Building Developer image...' && echo -en 'travis_fold:start:build-devserver\\r'
|
||||
make build-devserver
|
||||
echo -en 'travis_fold:end:build-devserver\\r'
|
||||
echo 'Building Production image...' && echo -en 'travis_fold:start:build-advancedserver\\r'
|
||||
make build-advancedserver
|
||||
echo -en 'travis_fold:end:build-advancedserver\\r'
|
||||
else
|
||||
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-scripts/test.sh
|
||||
30
build-scripts/push-dev.sh
Executable file
30
build-scripts/push-dev.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/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 Developer image...' && echo -en 'travis_fold:start:push-devserver\\r'
|
||||
make push-devserver
|
||||
echo -en 'travis_fold:end:push-devserver\\r'
|
||||
30
build-scripts/push-prod.sh
Executable file
30
build-scripts/push-prod.sh
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/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'
|
||||
96
build-scripts/release.sh
Executable file
96
build-scripts/release.sh
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/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
|
||||
37
build-scripts/test.sh
Executable file
37
build-scripts/test.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/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
|
||||
|
||||
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
|
||||
echo -en 'travis_fold:end:test-advancedserver\\r'
|
||||
fi
|
||||
echo 'Running gosec scan...' && echo -en 'travis_fold:start:gosec-scan\\r'
|
||||
if [ "$ARCH" = "amd64" ] ; then
|
||||
make gosec
|
||||
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
|
||||
Reference in New Issue
Block a user