45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# CI/CD Simplification Complete
|
|
|
|
## Changes Made
|
|
|
|
### 1. Simplified docker-compose.prod.yml
|
|
- Removed complex environment variable substitution
|
|
- Now simply uses `ghcr.io/andrewkozin/quixotic:latest` image
|
|
- Only sets `NODE_ENV: production`
|
|
|
|
### 2. Simplified CI/CD Pipeline (.github/workflows/ci.yml)
|
|
- Removed complex `.env.docker` file 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.docker` from all docker commands
|
|
- Added production-specific commands:
|
|
- `docker:prod` - Run production setup
|
|
- `docker: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.docker` file on server (as configured in docker-compose.yml)
|
|
- Cleaner separation between development and production configs
|
|
- Easier to debug and maintain
|
|
|
|
## Usage
|
|
For production deployment:
|
|
```bash
|
|
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
|
|
```
|
|
|
|
For development:
|
|
```bash
|
|
docker-compose up -d
|
|
``` |