Fix bugs
This commit is contained in:
113
1
113
1
@@ -1,113 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
deployment.kubernetes.io/revision: "11"
|
|
||||||
labels:
|
|
||||||
app: medicalalert-web
|
|
||||||
name: medicalalert-web
|
|
||||||
namespace: medicalalert-web
|
|
||||||
spec:
|
|
||||||
progressDeadlineSeconds: 600
|
|
||||||
replicas: 3
|
|
||||||
revisionHistoryLimit: 10
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: medicalalert-web
|
|
||||||
strategy:
|
|
||||||
rollingUpdate:
|
|
||||||
maxSurge: 25%
|
|
||||||
maxUnavailable: 25%
|
|
||||||
type: RollingUpdate
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
kubectl.kubernetes.io/restartedAt: "2023-06-08T17:04:19-04:00"
|
|
||||||
creationTimestamp: null
|
|
||||||
labels:
|
|
||||||
app: medicalalert-web
|
|
||||||
spec:
|
|
||||||
affinity:
|
|
||||||
nodeAffinity:
|
|
||||||
requiredDuringSchedulingIgnoredDuringExecution:
|
|
||||||
nodeSelectorTerms:
|
|
||||||
- matchExpressions:
|
|
||||||
- key: kubernetes.io/arch
|
|
||||||
operator: In
|
|
||||||
values:
|
|
||||||
- amd64
|
|
||||||
- arm64
|
|
||||||
containers:
|
|
||||||
- env:
|
|
||||||
- name: ENVIRONMENT
|
|
||||||
value: "$ENV"
|
|
||||||
image: 716593996126.dkr.ecr.us-east-1.amazonaws.com/medicalalert-web:$VERSION
|
|
||||||
envFrom:
|
|
||||||
- secretRef:
|
|
||||||
name: medicalalert-web-secrets
|
|
||||||
- configMapRef:
|
|
||||||
name: medicalalert-web-cm
|
|
||||||
imagePullPolicy: Always
|
|
||||||
name: medicalalert-web
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
name: http
|
|
||||||
protocol: TCP
|
|
||||||
startupProbe:
|
|
||||||
exec:
|
|
||||||
command:
|
|
||||||
- /root/redinessprobe-wp.sh
|
|
||||||
initialDelaySeconds: 90
|
|
||||||
periodSeconds: 10
|
|
||||||
timeoutSeconds: 10
|
|
||||||
failureThreshold: 5
|
|
||||||
successThreshold: 1
|
|
||||||
readinessProbe:
|
|
||||||
exec:
|
|
||||||
command:
|
|
||||||
- /bin/sh
|
|
||||||
- -c
|
|
||||||
- "wget -qO- 127.0.0.1/status |grep start && echo redinessprobe-success || exit 9"
|
|
||||||
initialDelaySeconds: 30
|
|
||||||
periodSeconds: 5
|
|
||||||
successThreshold: 1
|
|
||||||
failureThreshold: 5
|
|
||||||
timeoutSeconds: 10
|
|
||||||
livenessProbe:
|
|
||||||
tcpSocket:
|
|
||||||
port: 80
|
|
||||||
initialDelaySeconds: 5
|
|
||||||
periodSeconds: 5
|
|
||||||
successThreshold: 1
|
|
||||||
failureThreshold: 3
|
|
||||||
timeoutSeconds: 10
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 500m
|
|
||||||
memory: 1024Mi
|
|
||||||
requests:
|
|
||||||
cpu: 300m
|
|
||||||
memory: 700Mi
|
|
||||||
terminationMessagePath: /dev/termination-log
|
|
||||||
terminationMessagePolicy: File
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /usr/share/nginx/subdomain/www/wp-content/uploads
|
|
||||||
name: persistent-storage
|
|
||||||
- mountPath: /etc/nginx/conf.d/
|
|
||||||
name: default-conf
|
|
||||||
dnsPolicy: ClusterFirst
|
|
||||||
imagePullSecrets:
|
|
||||||
- name: regcred
|
|
||||||
nodeSelector:
|
|
||||||
kubernetes.io/os: linux
|
|
||||||
restartPolicy: Always
|
|
||||||
schedulerName: default-scheduler
|
|
||||||
terminationGracePeriodSeconds: 30
|
|
||||||
volumes:
|
|
||||||
- name: persistent-storage
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: efs-claim-medicalalert
|
|
||||||
- name: default-conf
|
|
||||||
configMap:
|
|
||||||
defaultMode: 420
|
|
||||||
name: medicalalert-web-default-conf-cm
|
|
||||||
@@ -105,7 +105,7 @@ definitions:
|
|||||||
DEBUG: "true"
|
DEBUG: "true"
|
||||||
after-script:
|
after-script:
|
||||||
- aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
- aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
||||||
- sleep 10 && while kubectl get po -A |egrep -i '0/1|crash'; do sleep 10; echo "--- still getting 0/1 or crash pods | fix the issue"; done
|
- sleep 10 && while kubectl get po -A |grep -i medicalalert-web|egrep -i '0/1|crash'; do sleep 10; echo "--- still getting 0/1 or crash pods-----"; done
|
||||||
|
|
||||||
pipelines:
|
pipelines:
|
||||||
# our custom pipeline, what shows up Bitbucket web app
|
# our custom pipeline, what shows up Bitbucket web app
|
||||||
@@ -159,9 +159,6 @@ pipelines:
|
|||||||
image: atlassian/pipelines-awscli
|
image: atlassian/pipelines-awscli
|
||||||
script:
|
script:
|
||||||
- source setenv.sh && chmod 755 ./common-jobs-bitbucket.sh
|
- source setenv.sh && chmod 755 ./common-jobs-bitbucket.sh
|
||||||
- if [ "$JOBNAME" = "mysql-restore" ] && [ "$SUBDOMAIN" = "www" ] ; then ./common-jobs-bitbucket.sh subdomain_deploy; fi
|
|
||||||
# - [[ "$SUBDOMAIN" != "www" ]] && [[ "$ENV" = "qa" || "$ENV" = "stage" || "$ENV" = "prod" ]] && exit || echo VALIDATION-PASS
|
|
||||||
- if [[ "$SUBDOMAIN" != "www" ]] && [[ "$ENV" = "qa" || "$ENV" = "stage" || "$ENV" = "prod" ]] ; then echo VALIDATION-FAIL && exit 9 ; else echo VALIDATION-PASS;fi
|
|
||||||
- ./common-jobs-bitbucket.sh $JOBNAME
|
- ./common-jobs-bitbucket.sh $JOBNAME
|
||||||
|
|
||||||
|
|
||||||
@@ -186,9 +183,6 @@ pipelines:
|
|||||||
image: atlassian/pipelines-awscli
|
image: atlassian/pipelines-awscli
|
||||||
script:
|
script:
|
||||||
- source setenv.sh && chmod 755 ./common-jobs-bitbucket.sh
|
- source setenv.sh && chmod 755 ./common-jobs-bitbucket.sh
|
||||||
- if [ "$JOBNAME" = "mysql-restore" ] && [ "$SUBDOMAIN" = "www" ] ; then ./common-jobs-bitbucket.sh subdomain_deploy; fi
|
|
||||||
# - [[ "$SUBDOMAIN" != "www" ]] && [[ "$ENV" = "qa" || "$ENV" = "stage" || "$ENV" = "prod" ]] && exit || echo VALIDATION-PASS
|
|
||||||
- if [[ "$SUBDOMAIN" != "www" ]] && [[ "$ENV" = "qa" || "$ENV" = "stage" || "$ENV" = "prod" ]] ; then echo VALIDATION-FAIL && exit 9 ; else echo VALIDATION-PASS;fi
|
|
||||||
- ./common-jobs-bitbucket.sh $JOBNAME
|
- ./common-jobs-bitbucket.sh $JOBNAME
|
||||||
|
|
||||||
subdomain-deploy:
|
subdomain-deploy:
|
||||||
|
|||||||
@@ -55,26 +55,25 @@ echo "DB_NAME -- $DB_NAME"
|
|||||||
echo "MYSQL_FILE_NAME -- $MYSQL_FILE_NAME"
|
echo "MYSQL_FILE_NAME -- $MYSQL_FILE_NAME"
|
||||||
echo "STATIC_FILE_NAME -- $STATIC_FILE_NAME"
|
echo "STATIC_FILE_NAME -- $STATIC_FILE_NAME"
|
||||||
|
|
||||||
cat ./setenv.sh
|
|
||||||
# -------------------------------------------------------------------------------------------------------------------------
|
# Initial VALIDATION check #
|
||||||
opt=$1
|
# -------------------------------------
|
||||||
deploy_version=$2
|
cat ./setenv.sh && . ./setenv.sh
|
||||||
|
if [[ "$SUBDOMAIN" != "www" ]] && [[ "$ENV" = "qa" || "$ENV" = "stage" || "$ENV" = "prod" ]] ; then echo VALIDATION-FAIL && exit 9 ; else echo VALIDATION-PASS;fi
|
||||||
|
#validation () { chmod 755 ./validation.sh && ./validation.sh; } && validation
|
||||||
|
# ----------------------------------------------------------------------------------
|
||||||
|
|
||||||
# Check if it is already running #
|
# Check if it is already running #
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
|
echo "Deploy the wordpress source code from the branch to pvc mount of subdomain..."
|
||||||
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
||||||
echo "common-job-pod will be deleted if already there and thus make sure you run single common job for a given repo"
|
echo "common-job-pod will be deleted if already there and thus make sure you run single common job for a given repo"
|
||||||
echo ""
|
echo ""
|
||||||
|
kubectl get po -A | grep common-job-pod | grep $NAMESPACE && kubectl delete po common-job-pod -n $NAMESPACE || echo ----common-job-pod-t0-be-created
|
||||||
|
# ----------------------------------------------------------------------------------
|
||||||
|
|
||||||
if ( kubectl get po -A | grep common-job-pod ) && [[ "$SUBDOMAIN" = "www" ]] ; then
|
opt=$1
|
||||||
echo "common-job-pod-running and maindomain is $URL_DOMAIN and common-job-pod will not be deleted"
|
deploy_version=$2
|
||||||
else
|
|
||||||
kubectl get po -A | grep common-job-pod && kubectl delete po common-job-pod -n $NAMESPACE || echo "----common-job-pod-t0-be-created"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# validation checks #
|
|
||||||
#----------------------------------
|
|
||||||
#validation () { chmod 755 ./validation.sh && ./validation.sh; } && validation
|
|
||||||
|
|
||||||
case $opt in
|
case $opt in
|
||||||
|
|
||||||
@@ -85,7 +84,7 @@ wp-auto-patch)
|
|||||||
if [[ "$SUBDOMAIN" != "dev01" ]] ; then echo VALIDATION-NOPASS-AUTO-PATCH-IS-FOR-DEV01 && exit 9 ; else echo VALIDATION-PASS-AUTO-PATCH-IS-FOR-DEV01;fi
|
if [[ "$SUBDOMAIN" != "dev01" ]] ; then echo VALIDATION-NOPASS-AUTO-PATCH-IS-FOR-DEV01 && exit 9 ; else echo VALIDATION-PASS-AUTO-PATCH-IS-FOR-DEV01;fi
|
||||||
|
|
||||||
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
||||||
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && sleep 15
|
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && echo pod-created && sleep 15
|
||||||
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- apt update
|
kubectl exec common-job-pod -n $NAMESPACE -- apt update
|
||||||
@@ -98,27 +97,20 @@ git clone --branch="develop" https://x-token-auth:$TOKEN@bitbucket.org/connectam
|
|||||||
cd $REPO/;
|
cd $REPO/;
|
||||||
git config user.email "{botid}@bots.bitbucket.org" ;
|
git config user.email "{botid}@bots.bitbucket.org" ;
|
||||||
git checkout -b feature/$VERSION-$ENV-$SUBDOMAIN && git push --set-upstream origin feature/$VERSION-$ENV-$SUBDOMAIN;
|
git checkout -b feature/$VERSION-$ENV-$SUBDOMAIN && git push --set-upstream origin feature/$VERSION-$ENV-$SUBDOMAIN;
|
||||||
rsync -a --delete --exclude 'wp-content/uploads' /usr/share/nginx/subdomain/$SUBDOMAIN/ wp;
|
rsync -av --delete --exclude 'wp-content/uploads' /usr/share/nginx/subdomain/$SUBDOMAIN/ wp;
|
||||||
git add --all && git commit -m "auto-patch $VERSION-$ENV-$SUBDOMAIN-$(date +%Y-%m-%dT%H_%M_%S)" && git push'
|
git add --all && git commit -m "auto-patch $VERSION-$ENV-$SUBDOMAIN-$(date +%Y-%m-%dT%H_%M_%S)" && git push'
|
||||||
#--------------------------------------------------------------------------------------------------------------
|
#--------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
kubectl delete po common-job-pod -n $NAMESPACE
|
kubectl delete po common-job-pod -n $NAMESPACE
|
||||||
|
|
||||||
cat script.log | egrep -v "SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
cat script.log | egrep -v "Errors:|SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
subdomain_deploy)
|
subdomain_deploy)
|
||||||
|
|
||||||
echo "Deploy the wordpress source code from the branch to pvc mount of subdomain..."
|
|
||||||
|
|
||||||
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
||||||
echo "common-job-pod will be deleted if already there and thus make sure you run single common job for a given repo"
|
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && echo pod-created && sleep 15
|
||||||
echo ""
|
|
||||||
kubectl get po -A | grep common-job-pod && kubectl delete po common-job-pod -n $NAMESPACE || echo ----common-job-pod-t0-be-created
|
|
||||||
|
|
||||||
|
|
||||||
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && sleep 15 && echo pod-created
|
|
||||||
|
|
||||||
kubectl cp wp $NAMESPACE/common-job-pod:/tmp && echo "wp copy to /tmp done" || exit 9
|
kubectl cp wp $NAMESPACE/common-job-pod:/tmp && echo "wp copy to /tmp done" || exit 9
|
||||||
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh && echo "setenv copy done" || exit 9
|
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh && echo "setenv copy done" || exit 9
|
||||||
@@ -126,11 +118,10 @@ kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
|||||||
# --------------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------------
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- apt update
|
kubectl exec common-job-pod -n $NAMESPACE -- apt update
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- apt install rclone rsync -y
|
kubectl exec common-job-pod -n $NAMESPACE -- apt install rclone rsync -y
|
||||||
#kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; cd /tmp && rsync -av --delete --exclude 'wp-content/uploads' wp/ /usr/share/nginx/subdomain/$SUBDOMAIN && echo --------sync-done------- '
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; cd /tmp && rclone sync --size-only --progress --fast-list --exclude wp-content/uploads/** wp/ /usr/share/nginx/subdomain/$SUBDOMAIN && echo ---sync-done--- '
|
||||||
# --------------------------------------------------------------------------------------------
|
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; cd /tmp && rclone sync --size-only --progress --fast-list --exclude wp-content/uploads/** wp/ /usr/share/nginx/subdomain/$SUBDOMAIN && echo --------sync-done------- '
|
|
||||||
echo $SUBDOMAIN | grep www && echo "maindomain $URL_DOMAIN" || kubectl delete po common-job-pod -n $NAMESPACE
|
echo $SUBDOMAIN | grep www && echo "maindomain $URL_DOMAIN" || kubectl delete po common-job-pod -n $NAMESPACE
|
||||||
# --------------------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
cat script.log | egrep -v "Errors:|SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
cat script.log | egrep -v "Errors:|SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
||||||
|
|
||||||
@@ -141,7 +132,7 @@ mysql-backup)
|
|||||||
|
|
||||||
echo "Running mysql backup with s3..."
|
echo "Running mysql backup with s3..."
|
||||||
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
||||||
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && sleep 15
|
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && echo pod-created && sleep 15
|
||||||
|
|
||||||
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
||||||
@@ -160,14 +151,14 @@ curl --request POST -F files=@"$FILE" --url "https://api.bitbucket.org/2.0/repo
|
|||||||
|
|
||||||
kubectl delete po common-job-pod -n $NAMESPACE
|
kubectl delete po common-job-pod -n $NAMESPACE
|
||||||
|
|
||||||
cat script.log | egrep -v "SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
cat script.log | egrep -v "Errors:|SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
wp-data-backup)
|
wp-data-backup)
|
||||||
|
|
||||||
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
||||||
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && sleep 15
|
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && echo pod-created && sleep 15
|
||||||
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- apt update
|
kubectl exec common-job-pod -n $NAMESPACE -- apt update
|
||||||
@@ -177,13 +168,13 @@ kubectl cp $NAMESPACE/common-job-pod:/tmp/upload.zip $NAMESPACE-$VERSION-$ENV-$S
|
|||||||
FILE=`ls $NAMESPACE-*.zip`
|
FILE=`ls $NAMESPACE-*.zip`
|
||||||
aws s3 cp $FILE s3://commonjobs/$NAMESPACE/$opt/
|
aws s3 cp $FILE s3://commonjobs/$NAMESPACE/$opt/
|
||||||
kubectl delete po common-job-pod -n $NAMESPACE
|
kubectl delete po common-job-pod -n $NAMESPACE
|
||||||
cat script.log | egrep -v "SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
cat script.log | egrep -v "Errors:|SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
||||||
;;
|
;;
|
||||||
|
|
||||||
mysql-restore)
|
mysql-restore)
|
||||||
|
|
||||||
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
||||||
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && sleep 15
|
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && echo pod-created && sleep 15
|
||||||
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
||||||
|
|
||||||
@@ -196,51 +187,61 @@ kubectl exec common-job-pod -n $NAMESPACE -- apt install zip wget unzip curl mar
|
|||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
curl -s -L -O -H "Authorization: Bearer $TOKEN" https://api.bitbucket.org/2.0/repositories/connectamerica/$REPO/downloads/$FILE && echo file_downloaded || aws s3 cp s3://commonjobs/$NAMESPACE/mysql-backup/$FILE $FILE
|
curl -s -L -O -H "Authorization: Bearer $TOKEN" https://api.bitbucket.org/2.0/repositories/connectamerica/$REPO/downloads/$FILE && echo file_downloaded || aws s3 cp s3://commonjobs/$NAMESPACE/mysql-backup/$FILE $FILE
|
||||||
|
|
||||||
|
# --------------------------------------------------------
|
||||||
kubectl cp $FILE $NAMESPACE/common-job-pod:/tmp/$FILE
|
kubectl cp $FILE $NAMESPACE/common-job-pod:/tmp/$FILE
|
||||||
|
kubectl cp wp $NAMESPACE/common-job-pod:/tmp && echo "wp copy to /tmp done" || exit 9
|
||||||
|
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh && echo "setenv copy done" || exit 9
|
||||||
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
||||||
|
# ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
#Create schema if not present #
|
#Create schema if not present #
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; mysql -h $DB_HOST --user=$DB_USER --password=$DB_PASSWORD -e "create schema IF NOT EXISTS $SUBDOMAIN"'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; mysql -h $DB_HOST --user=$DB_USER --password=$DB_PASSWORD -e "create schema IF NOT EXISTS $SUBDOMAIN"'
|
||||||
|
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; export FILE=`ls /tmp/*.sql.gz` ; gunzip -c $FILE | mysql -h $DB_HOST --user=$DB_USER --password=$DB_PASSWORD $SUBDOMAIN'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; export FILE=`ls /tmp/*.sql.gz` ; gunzip -c $FILE | mysql -h $DB_HOST --user=$DB_USER --password=$DB_PASSWORD $SUBDOMAIN'
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; mysql -h $DB_HOST --user=$DB_USER --password=$DB_PASSWORD -e "DROP TABLE IF EXISTS _pantheon_heartbeat"'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; mysql -h $DB_HOST --user=$DB_USER --password=$DB_PASSWORD -e "DROP TABLE IF EXISTS $SUBDOMAIN._pantheon_heartbeat"'
|
||||||
|
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ; chmod u+x wp-cli.phar;mv wp-cli.phar /usr/local/bin/wp; php /usr/local/bin/wp --info'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar ; chmod u+x wp-cli.phar;mv wp-cli.phar /usr/local/bin/wp; php /usr/local/bin/wp --info'
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; OLD_URL=`wp option get siteurl --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN`; echo "export OLD_URL=$OLD_URL" >> /tmp/setenv.sh; echo "export FIND=$(echo $OLD_URL|cut -d. -f2,3)" >> /tmp/setenv.sh; echo "export OLD_MAIN_DOMAIN=$(echo $OLD_URL|cut -d. -f2,3)" >> /tmp/setenv.sh; echo "export OLD_URL_DOMAIN=$(echo $OLD_URL| cut -d/ -f3)" >> /tmp/setenv.sh; echo "export OLD_SUBDOMAIN=$(echo $OLD_URL| cut -d/ -f3|cut -d. -f1)" >> /tmp/setenv.sh'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; OLD_URL=`wp option get siteurl --allow-root --path=/tmp/wp`; echo "export OLD_URL=$OLD_URL" >> /tmp/setenv.sh; echo "export FIND=$(echo $OLD_URL|cut -d. -f2,3)" >> /tmp/setenv.sh; echo "export OLD_MAIN_DOMAIN=$(echo $OLD_URL|cut -d. -f2,3)" >> /tmp/setenv.sh; echo "export OLD_URL_DOMAIN=$(echo $OLD_URL| cut -d/ -f3)" >> /tmp/setenv.sh; echo "export OLD_SUBDOMAIN=$(echo $OLD_URL| cut -d/ -f3|cut -d. -f1)" >> /tmp/setenv.sh'
|
||||||
# -----------------------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------------------
|
||||||
kubectl cp $NAMESPACE/common-job-pod:/tmp/setenv.sh setenv.sh && . ./setenv.sh
|
kubectl cp $NAMESPACE/common-job-pod:/tmp/setenv.sh setenv.sh && . ./setenv.sh
|
||||||
# -----------------------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------------------
|
||||||
if [[ "$OLD_SUBDOMAIN" = "www" ]] && [[ "$SUBDOMAIN" = "www" ]]; then
|
if [[ "$OLD_SUBDOMAIN" = "www" ]] && [[ "$SUBDOMAIN" = "www" ]]; then
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN "$OLD_URL_DOMAIN" "$URL_DOMAIN" --all-tables'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/tmp/wp "$OLD_URL_DOMAIN" "$URL_DOMAIN" --all-tables'
|
||||||
[[ "$APP" = "connectamerica" ]] && kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN ".$OLD_MAIN_DOMAIN" ".$MAIN_DOMAIN" --all-tables'
|
|
||||||
|
[[ "$APP" = "connectamerica" ]] && kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/tmp/wp ".$OLD_MAIN_DOMAIN" ".$MAIN_DOMAIN" --all-tables'
|
||||||
|
|
||||||
|
|
||||||
elif [[ "$OLD_SUBDOMAIN" = "www" ]] && [[ "$SUBDOMAIN" != "www" ]]; then
|
elif [[ "$OLD_SUBDOMAIN" = "www" ]] && [[ "$SUBDOMAIN" != "www" ]]; then
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN "$OLD_URL_DOMAIN" "$URL_DOMAIN" --all-tables'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/tmp/wp "$OLD_URL_DOMAIN" "$URL_DOMAIN" --all-tables'
|
||||||
[[ "$APP" = "connectamerica" ]] && kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN ".$OLD_MAIN_DOMAIN" ".$URL_DOMAIN" --all-tables'
|
[[ "$APP" = "connectamerica" ]] && kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/tmp/wp ".$OLD_MAIN_DOMAIN" ".$URL_DOMAIN" --all-tables'
|
||||||
|
|
||||||
|
|
||||||
elif [[ "$OLD_SUBDOMAIN" != "www" ]] && [[ "$SUBDOMAIN" = "www" ]]; then
|
elif [[ "$OLD_SUBDOMAIN" != "www" ]] && [[ "$SUBDOMAIN" = "www" ]]; then
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN ".$OLD_URL_DOMAIN" ".$MAIN_DOMAIN" --all-tables'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/tmp/wp ".$OLD_URL_DOMAIN" ".$MAIN_DOMAIN" --all-tables'
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN "$OLD_URL_DOMAIN" "$URL_DOMAIN" --all-tables'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/tmp/wp "$OLD_URL_DOMAIN" "$URL_DOMAIN" --all-tables'
|
||||||
|
|
||||||
|
|
||||||
elif [[ "$OLD_SUBDOMAIN" != "www" ]] && [[ "$SUBDOMAIN" != "www" ]]; then
|
elif [[ "$OLD_SUBDOMAIN" != "www" ]] && [[ "$SUBDOMAIN" != "www" ]]; then
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN "$OLD_URL_DOMAIN" "$URL_DOMAIN" --all-tables'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'cat /tmp/setenv.sh ; . /tmp/setenv.sh; wp search-replace --allow-root --path=/tmp/wp "$OLD_URL_DOMAIN" "$URL_DOMAIN" --all-tables'
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "======== fix the issues ============="
|
echo "======== fix the issues ============="
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------------------------------------------------------
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN "http://$URL_DOMAIN" "$NEW_URL" --all-tables'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; wp search-replace --allow-root --path=/tmp/wp "http://$NEW_URL" "https://$NEW_URL" --all-tables'
|
||||||
|
|
||||||
kubectl delete po common-job-pod -n $NAMESPACE
|
kubectl delete po common-job-pod -n $NAMESPACE
|
||||||
|
cat script.log | egrep -v "Errors:|SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
||||||
cat script.log | egrep -v "SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|
||||||
wp-data-restore)
|
wp-data-restore)
|
||||||
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
aws eks update-kubeconfig --name caresage-eks-cluster-$ENV --region us-east-1
|
||||||
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && sleep 15
|
kubectl apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && echo pod-created && sleep 15
|
||||||
kubectl get po common-job-pod -n $NAMESPACE | grep -i pending && exit 9 || echo ----common-pod-NOT-in-pending-state --
|
kubectl get po common-job-pod -n $NAMESPACE | grep -i pending && exit 9 || echo ----common-pod-NOT-in-pending-state --
|
||||||
|
|
||||||
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
kubectl cp setenv.sh $NAMESPACE/common-job-pod:/tmp/setenv.sh
|
||||||
@@ -249,13 +250,16 @@ kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh'
|
|||||||
[ -n "$RESTORE_VERSION" ] && FILE=$RESTORE_VERSION || FILE=$deploy_version
|
[ -n "$RESTORE_VERSION" ] && FILE=$RESTORE_VERSION || FILE=$deploy_version
|
||||||
|
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- apt update
|
kubectl exec common-job-pod -n $NAMESPACE -- apt update
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- apt install wget zip unzip curl -y
|
kubectl exec common-job-pod -n $NAMESPACE -- apt install wget zip unzip curl rsync rclone -y
|
||||||
aws s3 cp s3://commonjobs/$NAMESPACE/wp-data-backup/$FILE $FILE
|
aws s3 cp s3://commonjobs/$NAMESPACE/wp-data-backup/$FILE $FILE
|
||||||
kubectl cp $FILE $NAMESPACE/common-job-pod:/tmp/$FILE
|
kubectl cp $FILE $NAMESPACE/common-job-pod:/tmp/$FILE
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; mkdir -p /usr/share/nginx/subdomain/$SUBDOMAIN/wp-content/uploads'
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; mkdir -p /usr/share/nginx/subdomain/$SUBDOMAIN/wp-content/uploads'
|
||||||
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh;export FILE=`ls /tmp/*.zip`;unzip -o $FILE -d /usr/share/nginx/subdomain/$SUBDOMAIN/wp-content/uploads'
|
# ----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; mkdir /tmp/uploads ;export FILE=`ls /tmp/*.zip`;unzip -o $FILE -d /tmp/uploads'
|
||||||
|
kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; rclone sync --size-only --progress --fast-list /tmp/uploads/ /usr/share/nginx/subdomain/$SUBDOMAIN/wp-content/uploads && echo ---sync-done--- '
|
||||||
|
# --------------------------------------------------------------------------------------
|
||||||
kubectl delete po common-job-pod -n $NAMESPACE
|
kubectl delete po common-job-pod -n $NAMESPACE
|
||||||
cat script.log | egrep -v "SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
cat script.log | egrep -v "Errors:|SQL|rewrite|Rewrite|warning|Warning|create mode" | egrep -i "not in gzip format|fail|fatal|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user