unify rancher update strategy (#5367)

* unify rancher update strategy

* fix script

* fix script
This commit is contained in:
Eugenio Romano
2020-01-13 16:06:59 +01:00
committed by GitHub
parent a8c2a0b1e2
commit fd53531be7
9 changed files with 40 additions and 135 deletions

View File

@@ -68,10 +68,7 @@ jobs:
script:
- ./scripts/travis/build/build.sh || exit 1;
- ./scripts/lint.sh || exit 1;
- ./scripts/travis/release/release.sh
- TAG_VERSION=$(./scripts/travis/deploy/tag-travis-branch.sh)
- echo "Running the docker with tag" $TAG_VERSION
- ./node_modules/@alfresco/adf-cli/bin/adf-cli docker-publish --loginCheck --loginUsername "$DOCKER_REPOSITORY_USER" --loginPassword "$DOCKER_REPOSITORY_PASSWORD" --loginRepo "$DOCKER_REPOSITORY_DOMAIN" --dockerRepo "$DOCKER_REPOSITORY" --dockerTags "$TAG_VERSION,$TAGS" --pathProject "$(pwd)"
- ./scripts/travis/release/release-npm.sh
- stage: Unit test
@@ -109,23 +106,21 @@ jobs:
script: ./scripts/travis/e2e/process-services-cloud-e2e.sh
- stage: Update Rancher PR
name: Update Rancher PR
script: ./scripts/travis/deploy/deploy-pr.sh
- stage: Update Rancher
name: Update Rancher
script: ./scripts/travis/deploy/deploy.sh
- stage: Check bundle
script:
- ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
- ./scripts/npm-check-bundles.sh -v ${ADF_VERSION}
- stage: Update Rancher
script:
- TAG_VERSION=$(./scripts/travis/deploy/tag-travis-branch.sh)
- echo "Update rancher with docker tag" $TAG_VERSION --url $REPO_RANCHER --environment_name $REPO_RANCHER_ADF_NAME
- ./scripts/rancher-update.sh --access_key $RANCHER_TOKEN --secret_key $RANCHER_SECRET --url $REPO_RANCHER --environment_name $REPO_RANCHER_ADF_NAME --image docker:$DOCKER_REPOSITORY:$TAG_VERSION
- stage: Update Rancher PR
name: Update Rancher PR
script: ./scripts/travis/deploy/deploy.sh
notifications:
slack:
on_pull_requests: false

View File

@@ -1,61 +0,0 @@
#!/bin/bash
show_help() {
echo "Usage: docker_publish.sh"
echo ""
echo "--access_key rancher access key"
echo "--secret_key rancher secret key"
echo "--url rancher_url"
echo "--environment_name service name to replace in rancher"
echo "--image image to gater and load in the service, example: docker:alfresco/demo-shell:latest"
}
access_key(){
ACCESSKEY=$1
}
secret_key(){
SECRETKEY=$1
}
url(){
RANCHERURL=$1
}
environment_name(){
ENVIRONMENTNAME=$1
}
image_name(){
IMAGE=$1
}
while [[ $1 == -* ]]; do
case "$1" in
-h|--help|-\?) show_help; exit 0;;
--access_key) access_key $2; shift 2;;
--secret_key) secret_key $2; shift 2;;
--url) url $2; shift 2;;
--environment_name) environment_name $2; shift 2;;
--image) image_name $2; shift 2;;
-*) echo "invalid option: $1" 1>&2; show_help; exit 1;;
esac
done
docker pull etlweather/gaucho:alpine
docker=$(which docker)
echo "getting the id"
ENVIRONMENTID=$($docker run --rm -e CATTLE_ACCESS_KEY=$ACCESSKEY \
-e CATTLE_SECRET_KEY=$SECRETKEY \
-e CATTLE_URL=$RANCHERURL \
etlweather/gaucho:alpine id_of $ENVIRONMENTNAME)
echo "id retrieved! is $ENVIRONMENTID"
$docker run --rm -e CATTLE_ACCESS_KEY=$ACCESSKEY \
-e CATTLE_SECRET_KEY=$SECRETKEY \
-e CATTLE_URL=$RANCHERURL \
etlweather/gaucho:alpine upgrade $ENVIRONMENTID --imageUuid $IMAGE --auto_complete true --timeout 600

View File

@@ -0,0 +1,18 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR/../../../
# Get Tag Image
TAG_VERSION=$(./scripts/travis/deploy/get-docker-image-tag-name.sh)
echo "Running the docker with tag" $TAG_VERSION
# Publish Image to docker
node ./scripts/travis/deploy/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER
./node_modules/@alfresco/adf-cli/bin/adf-cli docker-publish --loginCheck --loginUsername "$DOCKER_REPOSITORY_USER" --loginPassword "$DOCKER_REPOSITORY_PASSWORD" --loginRepo "$DOCKER_REPOSITORY_DOMAIN" --dockerRepo "$DOCKER_REPOSITORY" --dockerTags "$TAG_VERSION" --pathProject "$(pwd)"
echo "Update rancher with docker tag" $TAG_VERSION --url $REPO_RANCHER --environment_name $REPO_RANCHER_ADF_NAME
# Deploy PR in Rancher env
(node --no-deprecation ./scripts/travis/deploy/rancher-pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1);

View File

@@ -4,6 +4,14 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR/../../../
node ./scripts/travis/deploy/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/travis/deploy/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $DOCKER_REPOSITORY_USER -p $DOCKER_REPOSITORY_PASSWORD || exit 1);
# Get Tag Image
TAG_VERSION=$(./scripts/travis/deploy/get-docker-image-tag-name.sh)
echo "Running the docker with tag" $TAG_VERSION
(node --no-deprecation ./scripts/travis/deploy/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1);
# Publish Image to docker
./node_modules/@alfresco/adf-cli/bin/adf-cli docker-publish --loginCheck --loginUsername "$DOCKER_REPOSITORY_USER" --loginPassword "$DOCKER_REPOSITORY_PASSWORD" --loginRepo "$DOCKER_REPOSITORY_DOMAIN" --dockerRepo "$DOCKER_REPOSITORY" --dockerTags "$TAG_VERSION,$TRAVIS_BRANCH" --pathProject "$(pwd)"
echo "Update rancher with docker tag" $TAG_VERSION --url $REPO_RANCHER --environment_name $REPO_RANCHER_ADF_NAME
# Deploy PR in Rancher env
(node --no-deprecation ./scripts/travis/deploy/rancher-pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TAG_VERSION" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1);

View File

@@ -6,5 +6,4 @@ else
TAG_VERSION=$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER
fi;
echo $TAG_VERSION;

View File

@@ -61,5 +61,3 @@ async function main() {
}
main();

View File

@@ -1,51 +0,0 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
show_help() {
echo "Usage: pr-publish.sh"
echo ""
echo "-n or --name pr name"
echo "-r or --repo docker repository url"
}
name_pr(){
NAME_PR=$1
}
name_docker_repo(){
DOCKER_REPO=$1
}
username_docker_repo(){
DOCKER_REPOSITORY_USER=$1
}
password_docker_repo(){
DOCKER_REPOSITORY_PASSWORD=$1
}
while [[ $1 == -* ]]; do
case "$1" in
-h|--help|-\?) show_help; exit 0;;
-n|--name) name_pr $2; shift 2;;
-r|--repo) name_docker_repo $2; shift 2;;
-u|--username) username_docker_repo $2; shift 2;;
-p|--password) password_docker_repo $2; shift 2;;
-*) echo "invalid option: $1" 1>&2; show_help; exit 0;;
esac
done
cd $DIR/../../../
echo "====== PUBLISH DOCKER IMAGE TAG pr $NAME_PR ====="
docker build -t $DOCKER_REPO/adf/demo-shell:$NAME_PR --build-arg BUILD_NUMBER=$NAME_PR .
echo "====== LOGIN ====="
docker login http://$DOCKER_REPO -p $DOCKER_REPOSITORY_PASSWORD -u $DOCKER_REPOSITORY_USER
docker push "$DOCKER_REPO/adf/demo-shell:$NAME_PR"

View File

@@ -18,5 +18,4 @@ then
fi;
echo "Publishing on npm with tag $TAG_NPM"
./node_modules/@alfresco/adf-cli/bin/adf-cli npm-publish --npmRegistry $NPM_REGISTRY_ADDRESS --tokenRegistry $NPM_REGISTRY_TOKEN --tag $TAG_NPM --pathProject "$(pwd)"