90 lines
5.5 KiB
Bash
90 lines
5.5 KiB
Bash
#!/bin/bash
|
|
|
|
#ssh -p 10760 root@www.secomn.com
|
|
|
|
echo "Preparando proyacto para produccion"
|
|
ng build
|
|
|
|
echo "Crear el directorio de destino en el servidor"
|
|
SSH_PORT=10760
|
|
SERVER_IP4="172.235.158.4"
|
|
SERVER_HOSTNAME=www.secomn.com
|
|
|
|
REMOTE_USER=root
|
|
|
|
SITE_NAME="www.secomn.com"
|
|
SITE_DOMAINS="secomn.com www.secomn.com"
|
|
PROJECT_NAME="secomn"
|
|
|
|
#DEPLOYED_TMP_FOLDER="/tmp/www.calacloud.com"
|
|
#ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'mkdir -p ${DEPLOYED_DATA_FOLDER};chgrp -R deploy ${DEPLOYED_DATA_FOLDER};chmod -R 770 ${DEPLOYED_DATA_FOLDER}'"
|
|
#DEPLOYED_DATA_FOLDER="/var/www/static/${SITE_NAME}"
|
|
|
|
|
|
DEPLOYED_WEB_DOMAIN_FOLDER=/var/www/${SITE_NAME}
|
|
DEPLOYED_WEB_DATA_FOLDER="${DEPLOYED_WEB_DOMAIN_FOLDER}/htdocs"
|
|
|
|
#Inicio de fase de DATA
|
|
echo "Se preparan los directorios de destino"
|
|
ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'mkdir -p ${DEPLOYED_WEB_DOMAIN_FOLDER};chown -R ${REMOTE_USER}:${REMOTE_USER} ${DEPLOYED_WEB_DOMAIN_FOLDER};chmod -R 775 ${DEPLOYED_WEB_DOMAIN_FOLDER}'"
|
|
ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'mkdir -p ${DEPLOYED_WEB_DATA_FOLDER};chown -R ${REMOTE_USER}:www-data ${DEPLOYED_WEB_DATA_FOLDER};chmod -R 775 ${DEPLOYED_WEB_DATA_FOLDER}'"
|
|
|
|
##ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'mkdir -p ${DEPLOYED_DATA_FOLDER};chgrp -R deploy ${DEPLOYED_DATA_FOLDER};chmod -R 770 ${DEPLOYED_DATA_FOLDER}'"
|
|
#ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'mkdir -p ${DEPLOYED_DATA_FOLDER};chown -R ${REMOTE_USER}:deploy ${DEPLOYED_DATA_FOLDER};chmod -R 775 ${DEPLOYED_DATA_FOLDER}'"
|
|
|
|
echo "Subir los archivos en ${DEPLOYED_WEB_DATA_FOLDER}"
|
|
DIST_FOLDER="dist/${PROJECT_NAME}"
|
|
#echo "rsync -arvz ${DIST_FOLDER} -e \"ssh -p ${SSH_PORT}\" ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_WEB_DATA_FOLDER}"
|
|
# rsync -arvz ${DIST_FOLDER} -e "ssh -p ${SSH_PORT}" ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_WEB_DATA_FOLDER}
|
|
echo "rsync -arvz -e \"ssh -p ${SSH_PORT}\" --progress --delete ${DIST_FOLDER}/ ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_WEB_DATA_FOLDER}"
|
|
rsync -arvz -e "ssh -p ${SSH_PORT}" --progress --delete ${DIST_FOLDER}/ ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_WEB_DATA_FOLDER}
|
|
|
|
#echo "scp -r -P ${SSH_PORT} ${DIST_FOLDER}/* ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_WEB_DATA_FOLDER}"
|
|
#scp -r -P ${SSH_PORT} ${DIST_FOLDER}/* ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_WEB_DATA_FOLDER}
|
|
|
|
exit 0
|
|
|
|
#rsync -arvz ${DIST_FOLDER} -e \"ssh -p ${SSH_PORT}\" ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_DATA_FOLDER}
|
|
scp -r -P ${SSH_PORT} ${DIST_FOLDER} ${REMOTE_USER}@${SERVER_IP4}:${DEPLOYED_DATA_FOLDER}
|
|
echo "Äjustando permisos deployed data"
|
|
ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'chown -R root:deploy ${DEPLOYED_DATA_FOLDER};chmod -R 755 ${DEPLOYED_DATA_FOLDER}'"
|
|
#Fin de fase de DATA
|
|
|
|
VHOST_FILE="${SITE_NAME}"
|
|
LOCAL_VHOST_FILE="scripts/${VHOST_FILE}"
|
|
LOCAL_VHOST_TEMPLATE_FILE="scripts/virtualhost.template"
|
|
TMP_VHOST_FILE="/tmp/${VHOST_FILE}"
|
|
DEPLOYED_VHOST_FILE="/etc/nginx/sites-available/${VHOST_FILE}"
|
|
ENABLED_VHOST_FILE="/etc/nginx/sites-enabled/${VHOST_FILE}"
|
|
|
|
echo "preparando directorio de logs"
|
|
#Inicio de fase LOGS
|
|
LOGS_FOLDER="/var/www/log/${SITE_NAME}"
|
|
ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'mkdir -p ${LOGS_FOLDER};chown -R root:root ${LOGS_FOLDER};chmod -R 755 ${LOGS_FOLDER}'"
|
|
#Fin de fase LOGS
|
|
|
|
|
|
#Inicio de fase VHOST
|
|
echo "generando virtualhost: ${VHOST_FILE}"
|
|
cat "${LOCAL_VHOST_TEMPLATE_FILE}" | sed "s/%SITE_NAME%/${SITE_NAME}/g" | sed "s/%SITE_DOMAINS%/${SITE_DOMAINS}/g" > "${TMP_VHOST_FILE}"
|
|
|
|
echo "copiando vistualhost"
|
|
scp -r -P ${SSH_PORT} ${TMP_VHOST_FILE} ${REMOTE_USER}@${SERVER_IP4}:${TMP_VHOST_FILE}
|
|
rm "${TMP_VHOST_FILE}"
|
|
|
|
#scp -r -P ${SSH_PORT} ${LOCAL_VHOST_FILE} ${REMOTE_USER}@${SERVER_IP4}:${TMP_VHOST_FILE}
|
|
|
|
echo "instalando virtualhost"
|
|
#ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'cp ${TMP_VHOST_FILE} ${DEPLOYED_VHOST_FILE};ln -s ${DEPLOYED_VHOST_FILE} ${ENABLED_VHOST_FILE};systemctl reload nginx'"
|
|
ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'cp -n ${TMP_VHOST_FILE} ${DEPLOYED_VHOST_FILE};ln -s ${DEPLOYED_VHOST_FILE} ${ENABLED_VHOST_FILE};systemctl reload nginx'"
|
|
#Fin de fase VHOST
|
|
|
|
|
|
#echo "Copiar los archivos al servidor web"
|
|
#REMOTE_SITE_DIR="/var/www/static/www.calacloud.net"
|
|
#DEPLOYED_DIST_FOLDER="${DEPLOYED_DATA_FOLDER}/dist/calacloud"
|
|
#ssh -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${SSH_PORT} ${REMOTE_USER}@${SERVER_IP4} "echo ${REMOTE_PWD} | sudo -S -- sh -c 'cp -R ${DEPLOYED_DIST_FOLDER}/* ${REMOTE_SITE_DIR}'"
|
|
|
|
|
|
echo "Cambios publicados en produccion"
|