This commit is contained in:
+33
-4
@@ -82,13 +82,42 @@ jobs:
|
|||||||
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
|
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
|
||||||
IMAGE_TAG: ${{ github.sha }}
|
IMAGE_TAG: ${{ github.sha }}
|
||||||
run: |
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo "Testing DNS..."
|
||||||
|
getent hosts "$DEPLOY_HOST"
|
||||||
|
|
||||||
|
echo "Testing SSH port..."
|
||||||
|
timeout 10 bash -c "</dev/tcp/$DEPLOY_HOST/${DEPLOY_PORT:-22}"
|
||||||
|
|
||||||
|
echo "Preparing SSH..."
|
||||||
mkdir -p ~/.ssh
|
mkdir -p ~/.ssh
|
||||||
printf '%s\n' "$DEPLOY_SSH_KEY" > ~/.ssh/deploy_key
|
printf '%s\n' "$DEPLOY_SSH_KEY" > ~/.ssh/deploy_key
|
||||||
chmod 600 ~/.ssh/deploy_key
|
chmod 600 ~/.ssh/deploy_key
|
||||||
|
|
||||||
|
echo "Getting host key..."
|
||||||
ssh-keyscan -p "${DEPLOY_PORT:-22}" -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts
|
ssh-keyscan -p "${DEPLOY_PORT:-22}" -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts
|
||||||
|
|
||||||
scp -i ~/.ssh/deploy_key -P "${DEPLOY_PORT:-22}" \
|
echo "Testing SSH authentication..."
|
||||||
docker-compose.prod.yml "$DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/docker-compose.yml"
|
ssh -i ~/.ssh/deploy_key \
|
||||||
|
-p "${DEPLOY_PORT:-22}" \
|
||||||
|
"$DEPLOY_USER@$DEPLOY_HOST" \
|
||||||
|
"echo 'SSH connection successful'"
|
||||||
|
|
||||||
|
echo "Uploading compose file..."
|
||||||
|
scp -i ~/.ssh/deploy_key \
|
||||||
|
-P "${DEPLOY_PORT:-22}" \
|
||||||
|
docker-compose.prod.yml \
|
||||||
|
"$DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/docker-compose.yml"
|
||||||
|
|
||||||
|
echo "Deploying..."
|
||||||
|
ssh -i ~/.ssh/deploy_key \
|
||||||
|
-p "${DEPLOY_PORT:-22}" \
|
||||||
|
"$DEPLOY_USER@$DEPLOY_HOST" \
|
||||||
|
"cd '$DEPLOY_PATH' && \
|
||||||
|
IMAGE_TAG='$IMAGE_TAG' docker compose pull && \
|
||||||
|
IMAGE_TAG='$IMAGE_TAG' docker compose up -d && \
|
||||||
|
docker image prune -f"
|
||||||
|
|
||||||
|
echo "Deployment successful!"
|
||||||
|
|
||||||
ssh -i ~/.ssh/deploy_key -p "${DEPLOY_PORT:-22}" "$DEPLOY_USER@$DEPLOY_HOST" \
|
|
||||||
"cd $DEPLOY_PATH && IMAGE_TAG=$IMAGE_TAG docker compose pull && IMAGE_TAG=$IMAGE_TAG docker compose up -d && docker image prune -f"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user