Skip to content

Commit c6174d6

Browse files
froala-travis-botGangadhar
andauthored
CICD Changes (#17)
Fix added for caching issues with deployment Co-authored-by: Gangadhar <gangadhar.k@CELSYS217-BLR.CELSYSWTC.IN>
1 parent 33cf468 commit c6174d6

3 files changed

Lines changed: 174 additions & 151 deletions

File tree

deploy_sdk.sh

Lines changed: 165 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1,161 +1,181 @@
1-
#!/bin/bash
1+
#!/usr/bin/env bash
22

3-
if [ ${TRAVIS_PULL_REQUEST} != "false" ]; then echo "Not deploying on a pull request !!!" && exit 0; fi
3+
# Steps
4+
# Identify the build agent. Check whether build agent is same as deployment server
5+
# Login to build server and build, run, check the new changes.
6+
# --force-recreate for docker-compose
7+
# --no-cache for docker build
8+
# -f for npm install
9+
# -v --rmi all for docker compose down
410

5-
PACKAGE_VERSION=`jq '.version' version.json | tr -d '"'`
6-
export IMAGE_NAME=`echo "froala-${BUILD_REPO_NAME}_${TRAVIS_BRANCH}:${PACKAGE_VERSION}" | tr '[:upper:]' '[:lower:]'`
7-
export BASE_DOMAIN="froala-infra.com"
8-
export SDK_ENVIRONMENT=""
9-
export DEPLOYMENT_SERVER=""
11+
if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then echo "Not deploying on a pull request !!!" && exit 0; fi
1012

11-
SERVICE_NAME=""
12-
CONTAINAER_NAME=""
13+
# Define the global variables
14+
BRANCH_NAME=$(echo "${TRAVIS_BRANCH}" | tr '[:upper:]' '[:lower:]')
15+
PACKAGE_VERSION="$(jq '.version' version.json | tr -d '"')"
16+
IMAGE_NAME="$(echo "froala-${BUILD_REPO_NAME}_${TRAVIS_BRANCH}:${PACKAGE_VERSION}" | tr '[:upper:]' '[:lower:]')"
17+
BASE_DOMAIN="froala-infra.com"
18+
AO_IDENTIFIER="${TRAVIS_BRANCH}"
19+
BRANCH_LENGHT=$(echo "${TRAVIS_BRANCH}" |awk '{print length}')
20+
LW_REPO_NAME=$(echo "${BUILD_REPO_NAME}" | tr '[:upper:]' '[:lower:]' | sed -e 's/-//g' -e 's/\.//g' -e 's/_//g')
1321
CT_INDEX=0
14-
AO_IDENTIFIER=`echo ${TRAVIS_BRANCH}`
15-
echo "${AO_IDENTIFIER}"
22+
MAX_DEPLOYMENTS_NR=0
23+
SDK_ENVIRONMENT=""
24+
DEPLOYMENT_SERVER=""
25+
SERVICE_NAME=""
26+
CONTAINER_NAME=""
1627
OLDEST_CONTAINER=""
1728

29+
# Copy the ssh key
1830
echo "${SSH_KEY}" | base64 --decode > /tmp/sshkey.pem
1931
chmod 400 /tmp/sshkey.pem
2032

21-
export MAX_DEPLOYMENTS_NR=0
33+
# Select the deployment server based on the branch.
34+
case "${BRANCH_NAME}" in
35+
dev*) SDK_ENVIRONMENT="dev" && DEPLOYMENT_SERVER="${FROALA_SRV_DEV}";;
36+
ao-dev*) SDK_ENVIRONMENT="dev" && DEPLOYMENT_SERVER="${FROALA_SRV_DEV}";;
37+
qa*) SDK_ENVIRONMENT="qa" && DEPLOYMENT_SERVER="${FROALA_SRV_QA}";;
38+
qe*) SDK_ENVIRONMENT="qe" && DEPLOYMENT_SERVER="${FROALA_SRV_QE}";;
39+
rc*) SDK_ENVIRONMENT="stg" && DEPLOYMENT_SERVER="${FROALA_SRV_STAGING}";;
40+
release-master*) SDK_ENVIRONMENT="stg" && DEPLOYMENT_SERVER=${FROALA_SRV_STAGING};;
41+
ft*) echo "Building only on feature branch ${TRAVIS_BRANCH}... will not deploy..." && exit 0;;
42+
bf*) echo "Building only on bugfix branch ${TRAVIS_BRANCH}... will not deploy..." && exit 0;;
43+
*) echo "Not a deployment branch" && exit 1;;
44+
esac
45+
46+
# Set the short branch name
47+
if [ "${BRANCH_LENGHT}" -lt 18 ]; then
48+
SHORT_TRAVIS_BRANCH="${TRAVIS_BRANCH}"
49+
else
50+
SHORT_TRAVIS_BRANCH="${TRAVIS_BRANCH:0:8}${TRAVIS_BRANCH: -8}"
51+
fi
52+
LW_SHORT_TRAVIS_BRANCH="$(echo "${SHORT_TRAVIS_BRANCH}" | sed -e 's/-//g' -e 's/\.//g' -e 's/_//g' | tr '[:upper:]' '[:lower:]')"
2253

23-
function get_max_deployments_per_env(){
24-
local ENVIRONMENT=$1
25-
echo "getting max deployments for environment ${ENVIRONMENT}"
26-
MAX_DEPLOYMENTS_NR=`jq --arg sdkenvironment ${ENVIRONMENT} '.[$sdkenvironment]' version.json | tr -d '"'`
27-
echo "detected max deployments: ${MAX_DEPLOYMENTS_NR}"
54+
# Get the maximum allowed deployment for given environment
55+
function max_allowed_deployment(){
56+
echo "getting max deployments for environment ${SDK_ENVIRONMENT}"
57+
MAX_DEPLOYMENTS_NR=$(jq --arg sdkenvironment "${SDK_ENVIRONMENT}" '.[$sdkenvironment]' version.json | tr -d '"')
58+
echo "Max allowed deployments: ${MAX_DEPLOYMENTS_NR}"
2859
}
60+
max_allowed_deployment
2961

62+
# Get the total numbers of deployed container for given environment
63+
function existing_deployments(){
64+
echo "Checking the existing number of running container(s)"
65+
EXISTING_DEPLOYMENTS_NR=$(ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem "${SSH_USER}"@"${DEPLOYMENT_SERVER}" "sudo docker ps | grep -i ${LW_REPO_NAME}-${AO_IDENTIFIER}" | wc -l)
66+
echo "Number of existing deployment: ${EXISTING_DEPLOYMENTS_NR}"
67+
}
68+
existing_deployments
69+
70+
# Get the old container name, no of deployments, and generate the new index and container name
3071
function generate_container_name(){
31-
local LW_REPO_NAME=$1
32-
local LW_SHORT_TRAVIS_BRANCH=$2
33-
local SDK_ENVIRONMENT=$3
34-
local DEPLOYMENT_SERVER=$4
35-
echo "searching for ${LW_REPO_NAME} depl..."
36-
sleep 1
37-
RUNNING_DEPL=`ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER}@${DEPLOYMENT_SERVER} " sudo docker ps | grep -i ${LW_REPO_NAME}"`
38-
echo "running depl var: ${RUNNING_DEPL}"
39-
echo "looking for ${LW_REPO_NAME} deployments"
40-
echo "getting indexes for oldest and latest deployed container"
41-
DEPL='ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem '
42-
DEPL="${DEPL} ${SSH_USER}@${DEPLOYMENT_SERVER} "
43-
REL=' " sudo docker ps | grep -i '
44-
DEPL="${DEPL} ${REL} "
45-
DEPL="${DEPL} ${LW_REPO_NAME}-${AO_IDENTIFIER}"
46-
REL='"'
47-
DEPL="${DEPL} ${REL} "
48-
echo "show docker containers ssh cmd: $DEPL"
49-
echo ${DEPL} | bash > file.txt
50-
echo "running conatiners: "
51-
cat file.txt
52-
CT_LOWER_INDEX=`cat file.txt | awk -F'-' '{print $NF }' | sort -nk1 | head -1`
53-
CT_HIGHER_INDEX=`cat file.txt | awk -F'-' '{print $NF }' | sort -nk1 | tail -1`
54-
echo "lowest index : ${CT_LOWER_INDEX} ; and highest index : ${CT_HIGHER_INDEX}"
55-
if [ -z "${RUNNING_DEPL}" ]; then
56-
echo "first deployment"
57-
CT_INDEX=1
58-
CONTAINER_NAME="${LW_REPO_NAME}-${AO_IDENTIFIER}-${CT_INDEX}"
59-
SERVICE_NAME="${LW_REPO_NAME}-${LW_SHORT_TRAVIS_BRANCH}"
60-
else
61-
echo "multiple deployments"
62-
CT_INDEX=${CT_HIGHER_INDEX} && CT_INDEX=$((CT_INDEX+1))
63-
OLDEST_CONTAINER="${LW_REPO_NAME}-${AO_IDENTIFIER}-${CT_LOWER_INDEX}"
64-
CONTAINER_NAME="${LW_REPO_NAME}-${AO_IDENTIFIER}-${CT_INDEX}"
65-
SERVICE_NAME="${LW_REPO_NAME}-${LW_SHORT_TRAVIS_BRANCH}-${CT_INDEX}"
66-
echo "new index: ${CT_INDEX} & oldest horse out there: ${OLDEST_CONTAINER}"
67-
fi
72+
73+
DEPL=$(ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem "${SSH_USER}"@"${DEPLOYMENT_SERVER}" sudo docker ps | grep -i "${LW_REPO_NAME}"-"${AO_IDENTIFIER}")
74+
echo "Containers running for ${AO_IDENTIFIER}: ${DEPL}"
75+
echo "${DEPL}" > file.txt
76+
77+
echo "Getting indexes of oldest and latest deployed containers for ${AO_IDENTIFIER}"
78+
CT_LOWER_INDEX=$(awk -F'-' '{print $NF }' < file.txt | sort -nk1 | head -1)
79+
CT_HIGHER_INDEX=$(awk -F'-' '{print $NF }' < file.txt | sort -nk1 | tail -1)
80+
echo "Lowest index : ${CT_LOWER_INDEX} ; and Highest index : ${CT_HIGHER_INDEX}"
81+
82+
if [ -z "${DEPL}" ]; then
83+
echo "First deployment. Setting the container name."
84+
CT_INDEX=1
85+
CONTAINER_NAME="${LW_REPO_NAME}-${AO_IDENTIFIER}-${CT_INDEX}"
86+
SERVICE_NAME="${LW_REPO_NAME}-${LW_SHORT_TRAVIS_BRANCH}"
87+
else
88+
echo "Multiple deployments detected. Setting the container name (old and new)"
89+
CT_INDEX=${CT_HIGHER_INDEX} && CT_INDEX=$((CT_INDEX+1))
90+
OLDEST_CONTAINER="${LW_REPO_NAME}-${AO_IDENTIFIER}-${CT_LOWER_INDEX}"
91+
CONTAINER_NAME="${LW_REPO_NAME}-${AO_IDENTIFIER}-${CT_INDEX}"
92+
SERVICE_NAME="${LW_REPO_NAME}-${LW_SHORT_TRAVIS_BRANCH}-${CT_INDEX}"
93+
echo "New index: ${CT_INDEX}"
94+
fi
6895
}
69-
echo " Container port: ${CONTAINER_SERVICE_PORTNO}"
70-
export BRANCH_NAME=`echo "${TRAVIS_BRANCH}" | tr '[:upper:]' '[:lower:]'`
71-
case "${BRANCH_NAME}" in
72-
dev*) SDK_ENVIRONMENT="dev" && DEPLOYMENT_SERVER=${FROALA_SRV_DEV} ;;
73-
ao-dev*) SDK_ENVIRONMENT="dev" && DEPLOYMENT_SERVER=${FROALA_SRV_DEV} ;;
74-
qa*) SDK_ENVIRONMENT="qa" && DEPLOYMENT_SERVER=${FROALA_SRV_QA} ;;
75-
qe*) SDK_ENVIRONMENT="qe" && DEPLOYMENT_SERVER=${FROALA_SRV_QE} ;;
76-
rc*) SDK_ENVIRONMENT="stg" && DEPLOYMENT_SERVER=${FROALA_SRV_STAGING} ;;
77-
release-master*) SDK_ENVIRONMENT="stg" && DEPLOYMENT_SERVER=${FROALA_SRV_STAGING} ;;
78-
ft*) echo "Building only on feature branch ${TRAVIS_BRANCH}... will not deploy..." && exit 0;;
79-
bf*) echo "Building only on bugfix branch ${TRAVIS_BRANCH}... will not deploy..." && exit 0;;
80-
*) echo "Not a deployment branch" && exit -1;;
81-
esac
82-
get_max_deployments_per_env $SDK_ENVIRONMENT
83-
echo "deploying on environment :${SDK_ENVIRONMENT}, on server ${DEPLOYMENT_SERVER}, max deployments: ${MAX_DEPLOYMENTS_NR}"
84-
export BASE_DOMAIN="froala-infra.com"
85-
SHORT_REPO_NAME="${BUILD_REPO_NAME:0:17}"
86-
BRANCH_LENGHT=`echo ${TRAVIS_BRANCH} |awk '{print length}'`
87-
if [ ${BRANCH_LENGHT} -lt 18 ]; then
88-
SHORT_TRAVIS_BRANCH=${TRAVIS_BRANCH}
89-
else
90-
SHORT_TRAVIS_BRANCH="${TRAVIS_BRANCH:0:8}${TRAVIS_BRANCH: -8}"
91-
fi
92-
echo " short branch name : ${SHORT_TRAVIS_BRANCH}"
93-
SHORT_TRAVIS_BRANCH=`echo ${SHORT_TRAVIS_BRANCH} | sed -r 's/-//g'`
94-
SHORT_TRAVIS_BRANCH=`echo ${SHORT_TRAVIS_BRANCH} | sed -r 's/\.//g'`
95-
SHORT_TRAVIS_BRANCH=`echo ${SHORT_TRAVIS_BRANCH} | sed -r 's/_//g'`
96-
echo " short branch name : ${SHORT_TRAVIS_BRANCH}"
97-
DEPLOYMENT_URL="${SHORT_REPO_NAME}-${SHORT_TRAVIS_BRANCH}.${SDK_ENVIRONMENT}.${BASE_DOMAIN}"
98-
echo " deployment URL: https://${DEPLOYMENT_URL}"
99-
cp docker-compose.yml.template docker-compose.yml
100-
LW_REPO_NAME=`echo "${BUILD_REPO_NAME}" | tr '[:upper:]' '[:lower:]'`
101-
LW_REPO_NAME=`echo ${LW_REPO_NAME} | sed -r 's/_//g'`
102-
LW_REPO_NAME=`echo ${LW_REPO_NAME} | sed -r 's/-//g'`
103-
LW_REPO_NAME=`echo ${LW_REPO_NAME} | sed -r 's/\.//g'`
104-
LW_SHORT_TRAVIS_BRANCH=`echo "${SHORT_TRAVIS_BRANCH}" | tr '[:upper:]' '[:lower:]'`
105-
generate_container_name ${LW_REPO_NAME} ${LW_SHORT_TRAVIS_BRANCH} ${DEPLOYMENT_SERVER} ${DEPLOYMENT_SERVER}
106-
echo "service name : ${SERVICE_NAME} & container name : ${CONTAINER_NAME}"
107-
sed -i "s/ImageName/${NEXUS_CR_TOOLS_URL}\/${IMAGE_NAME}/g" docker-compose.yml
108-
sed -i "s/UrlName/${DEPLOYMENT_URL}/g" docker-compose.yml
109-
sed -i "s/ServiceName/${SERVICE_NAME}/g" docker-compose.yml
110-
sed -i "s/PortNum/${CONTAINER_SERVICE_PORTNO}/g" docker-compose.yml
111-
sed -i "s/ContainerName/${CONTAINER_NAME}/g" docker-compose.yml
112-
cat docker-compose.yml
113-
LW_REPO_NAME_LENGTH=`echo ${LW_REPO_NAME} |awk '{print length}'`
114-
SHORT_SERVICE_NAME="${SERVICE_NAME:0:$LW_REPO_NAME_LENGTH}"
115-
echo "short service name: ${SHORT_SERVICE_NAME}"
116-
function deploy_service(){
117-
ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER}@${DEPLOYMENT_SERVER} "if [ -d /services/${SERVICE_NAME} ]; then sudo docker-compose -f /services/${SERVICE_NAME}/docker-compose.yml down; fi"
118-
ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER}@${DEPLOYMENT_SERVER} "if [ -d /services/${SERVICE_NAME} ]; then rm -rf /services/${SERVICE_NAME}; fi && mkdir /services/${SERVICE_NAME}"
119-
scp -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem docker-compose.yml ${SSH_USER}@${DEPLOYMENT_SERVER}:/services/${SERVICE_NAME}/docker-compose.yml
120-
ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER}@${DEPLOYMENT_SERVER} " cd /services/${SERVICE_NAME}/ && sudo docker-compose pull"
121-
ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER}@${DEPLOYMENT_SERVER} " cd /services/${SERVICE_NAME}/ && sudo docker-compose up -d"
122-
sleep 10 && ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER}@${DEPLOYMENT_SERVER} " sudo docker ps -a | grep -i ${SERVICE_NAME}"
123-
echo "Docker-compose is in : /services/${SERVICE_NAME} "
124-
sleep 30
125-
RET_CODE=`curl -k -s -o /tmp/notimportant.txt -w "%{http_code}" https://${DEPLOYMENT_URL}`
126-
echo "validation code: $RET_CODE for https://${DEPLOYMENT_URL}"
127-
if [ $RET_CODE -ne 200 ]; then
128-
echo "Deployment validation failed!!! Please check pipeline logs."
129-
exit -1
130-
else
131-
echo " Service available at URL: https://${DEPLOYMENT_URL}"
132-
133-
fi
96+
generate_container_name
97+
98+
# Print useful details.
99+
echo -e "\n"
100+
echo "----------------------------------------------------------------------"
101+
echo " Selected environment: ${SDK_ENVIRONMENT}. "
102+
echo " Deployment server: ${DEPLOYMENT_SERVER}. "
103+
echo " Max allowed deployments: ${MAX_DEPLOYMENTS_NR}. "
104+
echo " Number of existing deployment: ${EXISTING_DEPLOYMENTS_NR} "
105+
echo " Oldest container name: ${OLDEST_CONTAINER} "
106+
echo " Container name for this deployment: ${CONTAINER_NAME} "
107+
echo "----------------------------------------------------------------------"
108+
echo -e "\n"
109+
110+
# Set the deployment URL
111+
DEPLOYMENT_URL="${CONTAINER_NAME}.${SDK_ENVIRONMENT}.${BASE_DOMAIN}"
112+
113+
# Modify the compose file and run the docker-compose.
114+
function deploy(){
115+
116+
# Copy the docker-compose template to docker-compose.yml
117+
cp docker-compose.yml.template docker-compose.yml
118+
119+
# Replace the sample values
120+
sed -i "s/ImageName/${NEXUS_CR_TOOLS_URL}\/${IMAGE_NAME}/g" docker-compose.yml
121+
sed -i "s/UrlName/${DEPLOYMENT_URL}/g" docker-compose.yml
122+
sed -i "s/ServiceName/${SERVICE_NAME}/g" docker-compose.yml
123+
sed -i "s/PortNum/${CONTAINER_SERVICE_PORTNO}/g" docker-compose.yml
124+
sed -i "s/ContainerName/${CONTAINER_NAME}/g" docker-compose.yml
125+
126+
echo -e "\n"
127+
echo "Below is the content of docker-compose.yml"
128+
echo "-------------------------------------------------"
129+
cat docker-compose.yml
130+
echo "-------------------------------------------------"
131+
echo -e "\n"
132+
133+
# Remove the old docker-compose from deployment_server
134+
ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem "${SSH_USER}"@"${DEPLOYMENT_SERVER}" "if [ -d /services/${SERVICE_NAME} ]; then rm -rf /services/${SERVICE_NAME}; fi && mkdir /services/${SERVICE_NAME}"
135+
136+
# Copy the latest docker-compose file to deployment_server
137+
scp -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem docker-compose.yml "${SSH_USER}"@"${DEPLOYMENT_SERVER}":/services/"${SERVICE_NAME}"/docker-compose.yml
138+
139+
# Run docker-compose pull on deployment_server
140+
ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem "${SSH_USER}"@"${DEPLOYMENT_SERVER}" "cd /services/${SERVICE_NAME}/ && sudo docker-compose pull"
141+
sleep 10
142+
143+
# Run docker-compose up on deployment_server
144+
ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem "${SSH_USER}"@"${DEPLOYMENT_SERVER}" "cd /services/${SERVICE_NAME}/ && sudo docker-compose up -d --force-recreate"
145+
sleep 60
146+
147+
RET_CODE=$(curl -k -s -o /tmp/notimportant.txt -w "%{http_code}" https://"${DEPLOYMENT_URL}")
148+
echo "validation code: $RET_CODE for https://${DEPLOYMENT_URL}"
149+
if [ "${RET_CODE}" -ne 200 ]; then
150+
echo "Deployment validation failed!!! Please check pipeline logs."
151+
exit 1
152+
else
153+
echo -e "\n\tService available at URL: https://${DEPLOYMENT_URL}\n"
154+
fi
134155
}
135-
DEPLOYMENT_IS_RUNNING=`echo "${LW_REPO_NAME}-${AO_IDENTIFIER}-${CT_LOWER_INDEX}" | tr '[:upper:]' '[:lower:]'`
136-
REDEPLOYMENT=`ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER}@${DEPLOYMENT_SERVER} " sudo docker ps -a | grep -i "${DEPLOYMENT_IS_RUNNING}-${AO_IDENTIFIER}" | wc -l" `
137-
echo "${DEPLOYMENT_IS_RUNNING}"
138-
echo "checking if this PRD exists & do redeploy: ${REDEPLOYMENT}"
139-
if [ ${REDEPLOYMENT} -eq 1 ]; then
140-
echo "Redeploying service: ${SERVICE_NAME} ..."
141-
deploy_service
156+
157+
# If existing deployment less than max deployment then just deploy don't remove old container.
158+
if [ "${EXISTING_DEPLOYMENTS_NR}" -lt "${MAX_DEPLOYMENTS_NR}" ]; then
159+
deploy
160+
fi
161+
162+
# If existing deployment equals max deployment then delete oldest container.
163+
if [ "${EXISTING_DEPLOYMENTS_NR}" -ge "${MAX_DEPLOYMENTS_NR}" ]; then
164+
165+
echo "Maximum deployments reached on ${SDK_ENVIRONMENT} environment for ${BUILD_REPO_NAME}."
166+
echo "Stopping container ${OLDEST_CONTAINER} ..."
167+
168+
if ! ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem "${SSH_USER}"@"${DEPLOYMENT_SERVER}" sudo docker stop "${OLDEST_CONTAINER}"; then
169+
echo "Failed to stop the ${OLDEST_CONTAINER} container"
170+
fi
171+
echo "Successfully stopped the ${OLDEST_CONTAINER} container."
172+
173+
if ! ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem "${SSH_USER}"@"${DEPLOYMENT_SERVER}" sudo docker rm -f "${OLDEST_CONTAINER}"; then
174+
echo "Failed to remove the ${OLDEST_CONTAINER} container"
175+
fi
176+
echo "Successfully removed the ${OLDEST_CONTAINER} container."
177+
178+
echo "Deploying the service: ${SERVICE_NAME}"
179+
deploy && sleep 30
180+
echo "Deployment completed."
142181
fi
143-
EXISTING_DEPLOYMENTS=`ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem ${SSH_USER}@${DEPLOYMENT_SERVER} " sudo docker ps | grep -i "${LW_REPO_NAME}-${AO_IDENTIFIER}" | wc -l" `
144-
if [ ${EXISTING_DEPLOYMENTS} -gt ${MAX_DEPLOYMENTS_NR} ]; then
145-
echo "Maximum deployments reached on ${SDK_ENVIRONMENT} environment for ${BUILD_REPO_NAME} ; existing deployments: ${EXISTING_DEPLOYMENTS} ; max depl: ${MAX_DEPLOYMENTS_NR} "
146-
echo "Stopping container ${OLDEST_CONTAINER} ..."
147-
RCMD='ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem '
148-
RCMD="${RCMD} ${SSH_USER}@${DEPLOYMENT_SERVER} "
149-
REM='" sudo docker stop '
150-
RCMD="${RCMD} $REM ${OLDEST_CONTAINER}"'"'
151-
echo $RCMD | bash
152-
sleep 12
153-
RCMD='ssh -o "StrictHostKeyChecking no" -i /tmp/sshkey.pem '
154-
RCMD="${RCMD} ${SSH_USER}@${DEPLOYMENT_SERVER} "
155-
REM='" sudo docker rm '
156-
RCMD="${RCMD} $REM ${OLDEST_CONTAINER}"'"'
157-
echo $RCMD | bash
158-
else
159-
echo "Deploying service ..."
160-
deploy_service
161-
fi

push-image-to-nexus.sh

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ if [ ${TRAVIS_PULL_REQUEST} != "false" ]; then echo "Not publishing a pull requ
44
export BRANCH_NAME=`echo "${TRAVIS_BRANCH}" | tr '[:upper:]' '[:lower:]'`
55
case "${BRANCH_NAME}" in
66
dev*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
7-
ao-dev*)echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
7+
ao-dev*)echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
88
qa*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
9-
qe*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
10-
rc*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
11-
release-master*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
9+
qe*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
10+
rc*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
11+
release-master*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI/CD" ;;
1212
ft*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI" ;;
1313
bf*) echo "Branch ${TRAVIS_BRANCH} is eligible for CI" ;;
1414
*) echo "Not a valid branch name for CI/CD" && exit -1;;
@@ -28,7 +28,10 @@ PHP_SDK_NAME=`jq '.php_sdk_name' version.json | tr -d '"'`
2828
PHP_BRANCH_NAME=`jq '.php_sdk_branch' version.json | tr -d '"'`
2929
PHP_SDK_GIT_URL=`jq '.php_sdk_repo' version.json | tr -d '"'`
3030
echo "SDK: ${PHP_SDK_NAME} , branch: ${PHP_BRANCH_NAME} , version: ${PACKAGE_VERSION} , git url: ${PHP_SDK_GIT_URL}"
31-
docker build -t ${IMAGE_NAME}:${SHORT_COMMIT} --build-arg PackageName=${PACKAGE_NAME} --build-arg PackageVersion=${PACKAGE_VERSION} --build-arg NexusUser=${NEXUS_USER} --build-arg NexusPassword=${NEXUS_USER_PWD} --build-arg GitUsr=${GITHUB_USR} --build-arg GitToken=${GITHUB_TOKEN} --build-arg PHPsdkGitURL=${PHP_SDK_GIT_URL} --build-arg PHPsdkBranch=${PHP_BRANCH_NAME} .
31+
echo "IP address of BUILD agent is: " && hostname -I
32+
echo "Hostname of BUILD agent is: " && hostname
33+
docker image prune -f
34+
docker build -t ${IMAGE_NAME}:${SHORT_COMMIT} --build-arg PackageName=${PACKAGE_NAME} --build-arg PackageVersion=${PACKAGE_VERSION} --build-arg NexusUser=${NEXUS_USER} --build-arg NexusPassword=${NEXUS_USER_PWD} --build-arg GitUsr=${GITHUB_USR} --build-arg GitToken=${GITHUB_TOKEN} --build-arg PHPsdkGitURL=${PHP_SDK_GIT_URL} --build-arg PHPsdkBranch=${PHP_BRANCH_NAME} .
3235
sleep 3
3336
docker image ls
3437
echo "uploading to nexus ${NEXUS_CR_TOOLS_URL}/froala-${IMAGE_NAME}:${PACKAGE_VERSION} "

version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"comment-1": " Please update this file for any new branch with core libary name - package name and version uploaded to nexus",
3-
"name": "froala-editor-QA241122",
3+
"name": "froala-editor-RC-v4.0.17",
44
"version": "4.0.16",
55
"comment-2": "Please specify the maximum allowed deployments per environment",
66
"dev": "1",

0 commit comments

Comments
 (0)