mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
unify rancher update strategy (#5367)
* unify rancher update strategy * fix script * fix script
This commit is contained in:
25
.travis.yml
25
.travis.yml
@@ -68,10 +68,7 @@ jobs:
|
|||||||
script:
|
script:
|
||||||
- ./scripts/travis/build/build.sh || exit 1;
|
- ./scripts/travis/build/build.sh || exit 1;
|
||||||
- ./scripts/lint.sh || exit 1;
|
- ./scripts/lint.sh || exit 1;
|
||||||
- ./scripts/travis/release/release.sh
|
- ./scripts/travis/release/release-npm.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)"
|
|
||||||
|
|
||||||
|
|
||||||
- stage: Unit test
|
- stage: Unit test
|
||||||
@@ -109,23 +106,21 @@ jobs:
|
|||||||
script: ./scripts/travis/e2e/process-services-cloud-e2e.sh
|
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
|
- stage: Check bundle
|
||||||
script:
|
script:
|
||||||
- ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
|
- ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
|
||||||
- ./scripts/npm-check-bundles.sh -v ${ADF_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:
|
notifications:
|
||||||
slack:
|
slack:
|
||||||
on_pull_requests: false
|
on_pull_requests: false
|
||||||
|
@@ -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
|
|
18
scripts/travis/deploy/deploy-pr.sh
Executable file
18
scripts/travis/deploy/deploy-pr.sh
Executable 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);
|
@@ -4,6 +4,14 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|||||||
|
|
||||||
cd $DIR/../../../
|
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);
|
||||||
|
@@ -1,10 +1,9 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
if [[ $TRAVIS_BRANCH == "master" ]]; then
|
if [[ $TRAVIS_BRANCH == "master" ]]; then
|
||||||
TAG_VERSION=$(grep -m1 version package.json | awk '{ print $2 }' | sed 's/[", ]//g')
|
TAG_VERSION=$(grep -m1 version package.json | awk '{ print $2 }' | sed 's/[", ]//g')
|
||||||
else
|
else
|
||||||
TAG_VERSION=$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER
|
TAG_VERSION=$TRAVIS_BRANCH-$TRAVIS_BUILD_NUMBER
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
|
|
||||||
echo $TAG_VERSION;
|
echo $TAG_VERSION;
|
@@ -61,5 +61,3 @@ async function main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -18,5 +18,4 @@ then
|
|||||||
fi;
|
fi;
|
||||||
|
|
||||||
echo "Publishing on npm with tag $TAG_NPM"
|
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)"
|
./node_modules/@alfresco/adf-cli/bin/adf-cli npm-publish --npmRegistry $NPM_REGISTRY_ADDRESS --tokenRegistry $NPM_REGISTRY_TOKEN --tag $TAG_NPM --pathProject "$(pwd)"
|
Reference in New Issue
Block a user