deploy-workflow: create docker compose file
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 7s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 7s
This commit is contained in:
@@ -83,44 +83,43 @@ jobs:
|
|||||||
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_DEPLOY_BOT_TOKEN }}
|
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_DEPLOY_BOT_TOKEN }}
|
||||||
TELEGRAM_CHAT: ${{ secrets.TELEGRAM_DEPLOY_CHAT_ID }}
|
TELEGRAM_CHAT: ${{ secrets.TELEGRAM_DEPLOY_CHAT_ID }}
|
||||||
PROXY_URL: ${{ secrets.PROXY_URL }}
|
PROXY_URL: ${{ secrets.PROXY_URL }}
|
||||||
SUCCESS_MSG: |-
|
SUCCESS_MESSAGE: |-
|
||||||
✅ <b>Деплой успешен!</b>
|
✅ <b>Успешный делой!</b>
|
||||||
|
Релиз: <code>${{ gitea.ref_name }}</code>
|
||||||
Сервер применил релиз: <code>${{ env.CLEAN_REF_NAME }}</code>
|
FAILURE_MESSAGE: |-
|
||||||
FAILURE_MSG: |-
|
|
||||||
❌ <b>Ошибка деплоя!</b>
|
❌ <b>Ошибка деплоя!</b>
|
||||||
|
Релиз: <code>${{ gitea.ref_name }}</code>
|
||||||
Сервер <b>не</b> применил релиз: <code>${{ env.CLEAN_REF_NAME }}</code>
|
|
||||||
run: |
|
run: |
|
||||||
sshpass -e ssh -p 22 "$SSH_USERNAME@$SSH_HOST" bash -s << EOT
|
sshpass -e ssh -p 22 "$SSH_USERNAME@$SSH_HOST" bash -s << EOT
|
||||||
set -e
|
set -e
|
||||||
cd "$DEPLOY_DIRECTORY"
|
cd "$DEPLOY_DIRECTORY"
|
||||||
|
|
||||||
|
DEPLOY_LOG_FILE="/tmp/deploy-${REF_NAME}.log"
|
||||||
|
|
||||||
nohup bash -c '
|
nohup bash -c '
|
||||||
sleep 10
|
sleep 5
|
||||||
|
|
||||||
if docker compose --dry-run -f "docker-compose-${REF_NAME}.yml" up -d --remove-orphans > /tmp/docker_deploy.log 2>&1; then
|
if docker compose --dry-run -f "docker-compose-${REF_NAME}.yml" up -d --remove-orphans > \${DEPLOY_LOG_FILE} 2>&1; then
|
||||||
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage" \
|
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage" \
|
||||||
--proxy "${PROXY_URL}" \
|
--proxy "${PROXY_URL}" \
|
||||||
-d "chat_id=${TELEGRAM_CHAT}" \
|
-d "chat_id=${TELEGRAM_CHAT}" \
|
||||||
-d "parse_mode=HTML" \
|
-d "parse_mode=HTML" \
|
||||||
--data-urlencode "text=${SUCCESS_MSG}" > /dev/null
|
--data-urlencode "text=${SUCCESS_MESSAGE}" > /dev/null
|
||||||
else
|
else
|
||||||
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage" \
|
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage" \
|
||||||
--proxy "${PROXY_URL}" \
|
--proxy "${PROXY_URL}" \
|
||||||
-d "chat_id=${TELEGRAM_CHAT}" \
|
-d "chat_id=${TELEGRAM_CHAT}" \
|
||||||
-d "parse_mode=HTML" \
|
-d "parse_mode=HTML" \
|
||||||
--data-urlencode "text=${FAILURE_MSG}" > /dev/null
|
--data-urlencode "text=${FAILURE_MESSAGE}" > /dev/null
|
||||||
|
|
||||||
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
|
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
|
||||||
--proxy "${PROXY_URL}" \
|
--proxy "${PROXY_URL}" \
|
||||||
-F "chat_id=${TELEGRAM_CHAT}" \
|
-F "chat_id=${TELEGRAM_CHAT}" \
|
||||||
-F "document=@/tmp/docker_deploy.log" \
|
-F "document=@\${DEPLOY_LOG_FILE}" > /dev/null
|
||||||
-F "caption=logs" > /dev/null
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f /tmp/docker_deploy.log
|
rm -f \${DEPLOY_LOG_FILE}
|
||||||
' > /dev/null 2>&1 &
|
' > /dev/null 2>&1 &
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
echo "New containers will be started after 10 seconds"
|
echo "New containers will be started after 5 seconds"
|
||||||
+1
-1
@@ -7,7 +7,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- '80:80'
|
- '80:80'
|
||||||
- '443:443'
|
- '443:443'
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/nginx-proxy-manager/data:/data
|
- ./data/nginx-proxy-manager/data:/data
|
||||||
- ./data/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
|
- ./data/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
|||||||
Reference in New Issue
Block a user