diff --git a/common-jobs-bitbucket.sh b/common-jobs-bitbucket.sh index d3fe8ad1..28e206bc 100644 --- a/common-jobs-bitbucket.sh +++ b/common-jobs-bitbucket.sh @@ -22,6 +22,7 @@ echo "export NAMESPACE=$APP-web" >> setenv.sh echo "export REPO=$BITBUCKET_REPO_SLUG" >> setenv.sh echo "export REPLACE=`echo $NEW_URL | awk -F[./] '{print $4"."$5}'`" >> setenv.sh echo "export URL_DOMAIN=$URL_DOMAIN" >> setenv.sh +echo "export TOKEN=$TOKEN" >> setenv.sh # --------------------------------------------------------------- echo "JOBNAME -- $JOBNAME" echo "ENV -- $ENV" @@ -44,6 +45,34 @@ deploy_version=$2 case $opt in +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 && 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 +kubectl exec common-job-pod -n $NAMESPACE -- apt install wget zip unzip curl git -y + + +# --------------------------------------------------------------------------------------------------------------------------------------------------------- +#kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; git clone https://x-token-auth:$TOKEN@bitbucket.org/connectamerica/$REPO.git' + +kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh;cd /tmp;git clone --branch="feature/inital-setup" https://x-token-auth:$TOKEN@bitbucket.org/connectamerica/$REPO.git;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; +mv /usr/share/nginx/subdomain/$SUBDOMAIN/wp-content/uploads /tmp/; +cp -rf /usr/share/nginx/subdomain/$SUBDOMAIN/* wp/; +mv /tmp/uploads /usr/share/nginx/subdomain/$SUBDOMAIN/wp-content/; +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 -i "warning|SQL" | egrep -i "fail|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 fromo the branch to pvc mount of subdomain..." @@ -55,7 +84,7 @@ kubectl exec common-job-pod -n $NAMESPACE -- sh -c 'chmod 755 /tmp/setenv.sh' kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh ; cp -rf /tmp/wp/* /usr/share/nginx/subdomain/$SUBDOMAIN/' echo $SUBDOMAIN | grep www && echo "maindomain $URL_DOMAIN" || kubectl delete po common-job-pod -n $NAMESPACE -cat script.log | grep -v -i warning | egrep -i "fail|exception|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt +cat script.log | egrep -v -i "warning|SQL" | egrep -i "fail|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt ;; @@ -83,7 +112,7 @@ 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 | grep -v -i warning | egrep -i "fail|exception|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt +cat script.log | egrep -v -i "warning|SQL" | egrep -i "fail|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt ;; @@ -100,7 +129,7 @@ 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 | grep -v -i warning | egrep -i "fail|exception|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt +cat script.log | egrep -v -i "warning|SQL" | egrep -i "fail|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt ;; @@ -130,15 +159,25 @@ kubectl cp $FILE $NAMESPACE/common-job-pod:/tmp/$FILE 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 '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_URL_DOMAIN=$(echo $OLD_URL| cut -d/ -f3)" >> /tmp/setenv.sh ' -kubectl exec common-job-pod -n $NAMESPACE -- sh -c '. /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN "$FIND" "$REPLACE" --all-tables; . /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=/usr/share/nginx/subdomain/$SUBDOMAIN "$FIND" "$REPLACE" --all-tables' + +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_URL_DOMAIN=$(echo $OLD_URL| cut -d/ -f3)" >> /tmp/setenv.sh ' + +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 '. /tmp/setenv.sh; wp search-replace --allow-root --path=/usr/share/nginx/subdomain/$SUBDOMAIN "http://$URL_DOMAIN" "$NEW_URL" --all-tables' + + kubectl delete po common-job-pod -n $NAMESPACE -cat script.log | grep -v -i warning | egrep -i "fail|exception|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt +cat script.log | egrep -v -i "warning|SQL" | egrep -i "fail|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt ;; wp-data-restore) @@ -158,7 +197,7 @@ 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 delete po common-job-pod -n $NAMESPACE -cat script.log | grep -v -i warning | egrep -i "fail|exception|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt +cat script.log | egrep -v -i "warning|SQL" | egrep -i "fail|exception|terminated|command not found|error|unexpected|cannot access|No such file" && exit 9 || echo VALIDATION_PASS_$opt ;;