test
This commit is contained in:
31
.github/workflows/ci.yml
vendored
31
.github/workflows/ci.yml
vendored
@@ -105,36 +105,13 @@ jobs:
|
||||
cd /opt/quixotic
|
||||
git pull origin main
|
||||
|
||||
# Create production environment file from secrets
|
||||
cat > .env.docker << EOF
|
||||
NODE_ENV=production
|
||||
PORT=3000
|
||||
POSTGRES_DB=${{ secrets.POSTGRES_DB }}
|
||||
POSTGRES_USER=${{ secrets.POSTGRES_USER }}
|
||||
POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}
|
||||
DOMAIN=${{ secrets.DOMAIN }}
|
||||
ACME_EMAIL=${{ secrets.ACME_EMAIL }}
|
||||
TRAEFIK_AUTH=${{ secrets.TRAEFIK_AUTH }}
|
||||
TELEGRAM_BOT_TOKEN=${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||
WEB_APP_URL=https://${{ secrets.DOMAIN }}
|
||||
DATABASE_URL=postgresql://${{ secrets.POSTGRES_USER }}:${{ secrets.POSTGRES_PASSWORD }}@postgres:5432/${{ secrets.POSTGRES_DB }}
|
||||
EOF
|
||||
|
||||
# Login to GitHub Container Registry
|
||||
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin
|
||||
|
||||
# Pull latest image
|
||||
docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
|
||||
|
||||
# Deploy with zero downtime using production override
|
||||
docker-compose -f docker-compose.yml -f docker-compose.prod.yml --env-file .env.docker pull
|
||||
|
||||
# Stop existing containers if they exist
|
||||
if docker-compose -f docker-compose.yml -f docker-compose.prod.yml --env-file .env.docker ps -q | grep -q .; then
|
||||
docker-compose -f docker-compose.yml -f docker-compose.prod.yml --env-file .env.docker down --remove-orphans
|
||||
fi
|
||||
|
||||
docker-compose -f docker-compose.yml -f docker-compose.prod.yml --env-file .env.docker up -d
|
||||
# Deploy using production compose
|
||||
docker-compose -f docker-compose.yml -f docker-compose.prod.yml pull
|
||||
docker-compose -f docker-compose.yml -f docker-compose.prod.yml down --remove-orphans
|
||||
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
|
||||
|
||||
# Cleanup old images
|
||||
docker image prune -f
|
||||
|
||||
Reference in New Issue
Block a user