1.5 KiB
1.5 KiB
CI/CD Simplification Complete
Changes Made
1. Simplified docker-compose.prod.yml
- Removed complex environment variable substitution
- Now simply uses
ghcr.io/andrewkozin/quixotic:latestimage - Only sets
NODE_ENV: production
2. Simplified CI/CD Pipeline (.github/workflows/ci.yml)
- Removed complex
.env.dockerfile creation with secrets substitution - Deploy step now simply:
- Pulls latest code
- Logs into GHCR
- Uses standard docker-compose commands
- No more environment variable manipulation
3. Updated package.json Scripts
- Removed
--env-file .env.dockerfrom all docker commands - Added production-specific commands:
docker:prod- Run production setupdocker:prod:down- Stop production setup
- Simplified existing commands to use default docker-compose behavior
4. Updated Documentation
- Updated DEPLOYMENT.md with new simple approach
- Manual deployment now uses:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d --pull always
Benefits
- Much simpler deployment process
- No complex environment variable manipulation in CI
- Environment variables are loaded from
.env.dockerfile on server (as configured in docker-compose.yml) - Cleaner separation between development and production configs
- Easier to debug and maintain
Usage
For production deployment:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
For development:
docker-compose up -d