Align CI/CD with soroush method (DrSousan single-app pattern)
Audited against working Meezi/DrSousan pipelines. Fixes:
- Single docker-compose.yml is the production stack (api + internal db); folded in docker-compose.prod.yml; dev Postgres → docker-compose.dev.yml
- Dockerfile HEALTHCHECK (bash /dev/tcp) so deploy's docker-inspect Health.Status wait works
- Naming to convention: service api, container hamkadr_api/hamkadr_db, image mirror.soroushasadi.com/hamkadr/api:${API_TAG}
- Workflow rewritten to DrSousan pattern: ci build + deploy (rollback-tag before build, pg_dump backup, stop/rm/up, docker-inspect health-wait with crash detection, scoped image prune)
- environment: block with ${VAR:-default} substitution (no hard-failing env_file); HOST_PORT; .env excluded from image context
- nginx vhost + DEPLOY.md updated to match
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# Local development DB only. Devs run `docker compose -f docker-compose.dev.yml up -d`
|
||||
# and `dotnet run` against it. Production uses docker-compose.yml (api + db).
|
||||
name: jobsmedical-dev
|
||||
|
||||
services:
|
||||
db:
|
||||
image: postgres:17-alpine
|
||||
container_name: jobsmedical-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: jobsmedical
|
||||
POSTGRES_USER: jobsmedical
|
||||
POSTGRES_PASSWORD: jobsmedical_dev
|
||||
ports:
|
||||
- "5433:5432" # host 5433 to avoid clashing with a local Postgres on 5432
|
||||
volumes:
|
||||
- jobsmedical-pgdata:/var/lib/postgresql/data
|
||||
|
||||
volumes:
|
||||
jobsmedical-pgdata:
|
||||
Reference in New Issue
Block a user