diff --git a/1 b/1 deleted file mode 100644 index e8d61ee4..00000000 --- a/1 +++ /dev/null @@ -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 diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 3a268476..beac8cf7 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -105,7 +105,7 @@ definitions: DEBUG: "true" after-script: - 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: # our custom pipeline, what shows up Bitbucket web app @@ -159,9 +159,6 @@ pipelines: image: atlassian/pipelines-awscli script: - 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 @@ -186,9 +183,6 @@ pipelines: image: atlassian/pipelines-awscli script: - 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 subdomain-deploy: diff --git a/common-jobs-bitbucket.sh b/common-jobs-bitbucket.sh index 9059f6f7..0e50ad02 100644 --- a/common-jobs-bitbucket.sh +++ b/common-jobs-bitbucket.sh @@ -55,26 +55,25 @@ echo "DB_NAME -- $DB_NAME" echo "MYSQL_FILE_NAME -- $MYSQL_FILE_NAME" echo "STATIC_FILE_NAME -- $STATIC_FILE_NAME" -cat ./setenv.sh -# ------------------------------------------------------------------------------------------------------------------------- -opt=$1 -deploy_version=$2 + +# Initial VALIDATION check # +# ------------------------------------- +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 # # ------------------------------------- +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 echo "common-job-pod will be deleted if already there and thus make sure you run single common job for a given repo" 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 -echo "common-job-pod-running and maindomain is $URL_DOMAIN and common-job-pod will not be deleted" -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 +opt=$1 +deploy_version=$2 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 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 exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh' kubectl exec common-job-pod -n $NAMESPACE -- apt update @@ -98,39 +97,31 @@ git clone --branch="develop" https://x-token-auth:$TOKEN@bitbucket.org/connectam cd $REPO/; git config user.email "{botid}@bots.bitbucket.org" ; 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' #-------------------------------------------------------------------------------------------------------------- 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) -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 -echo "common-job-pod will be deleted if already there and thus make sure you run single common job for a given repo" -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 apply -f build/$ENV/pod.tpl && kubectl apply -f build/$ENV/pvc.yml && echo pod-created && sleep 15 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' # -------------------------------------------------------------------------------------------- -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 -- 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 -# -------------------------------------------------------------------------------------------------------------- +# ------------------------------------------------------------------------------------------------------------------------- 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..." 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 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 -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) 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 exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh' 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` aws s3 cp $FILE s3://commonjobs/$NAMESPACE/$opt/ 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) 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 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 - +# -------------------------------------------------------- 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 # # ------------------------------- 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; 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 '. /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 # ----------------------------------------------------------------------------------------- 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' -[[ "$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' +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=/tmp/wp ".$OLD_MAIN_DOMAIN" ".$MAIN_DOMAIN" --all-tables' + 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' -[[ "$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' +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=/tmp/wp ".$OLD_MAIN_DOMAIN" ".$URL_DOMAIN" --all-tables' + 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=/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" ".$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" "$URL_DOMAIN" --all-tables' + 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 echo "======== fix the issues =============" 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 - -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-restore) 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 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 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 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;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 -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 ;;