ci: deploy immutable dev images
Some checks failed
CI/CD Pipeline / Manual Action Help (push) Has been skipped
CI/CD Pipeline / Start Dev Containers in Dokploy (push) Has been skipped
CI/CD Pipeline / Drop and Recreate Dev Database (push) Has been skipped
CI/CD Pipeline / Quality Gate (push) Failing after 2m41s
CI/CD Pipeline / Build and Push Images (push) Has been skipped
CI/CD Pipeline / Deploy Dev in Dokploy (push) Has been skipped
CI/CD Pipeline / Internal Notify (push) Successful in 1s

This commit is contained in:
2026-04-28 14:13:51 +02:00
parent c72343a375
commit 1331a5bbd1
2 changed files with 28 additions and 6 deletions

View File

@@ -350,7 +350,12 @@ jobs:
sha = os.environ.get("GITHUB_SHA") or "" sha = os.environ.get("GITHUB_SHA") or ""
server_url = os.environ.get("GITHUB_SERVER_URL", "").rstrip("/") server_url = os.environ.get("GITHUB_SERVER_URL", "").rstrip("/")
repository_url = f"{server_url}/{repository}" if server_url and repository else "" repository_url = f"{server_url}/{repository}" if server_url and repository else ""
celery_image = f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['CELERY_IMAGE']}:dev" image_tag = (
f"{branch.replace('/', '-')}-{sha[:7]}"
if branch and sha
else branch or "dev"
)
celery_image = f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['CELERY_IMAGE']}:{image_tag}"
payload = { payload = {
"ref": f"refs/heads/{branch}", "ref": f"refs/heads/{branch}",
"after": sha, "after": sha,
@@ -380,8 +385,9 @@ jobs:
"sha": sha, "sha": sha,
"actor": os.environ.get("GITHUB_ACTOR"), "actor": os.environ.get("GITHUB_ACTOR"),
"target": os.environ.get("CURRENT_DOKPLOY_TARGET"), "target": os.environ.get("CURRENT_DOKPLOY_TARGET"),
"image_tag": image_tag,
"images": { "images": {
"web": f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['WEB_IMAGE']}:dev", "web": f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['WEB_IMAGE']}:{image_tag}",
"worker": celery_image, "worker": celery_image,
"beat": celery_image, "beat": celery_image,
}, },
@@ -473,7 +479,12 @@ jobs:
sha = os.environ.get("GITHUB_SHA") or "" sha = os.environ.get("GITHUB_SHA") or ""
server_url = os.environ.get("GITHUB_SERVER_URL", "").rstrip("/") server_url = os.environ.get("GITHUB_SERVER_URL", "").rstrip("/")
repository_url = f"{server_url}/{repository}" if server_url and repository else "" repository_url = f"{server_url}/{repository}" if server_url and repository else ""
celery_image = f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['CELERY_IMAGE']}:dev" image_tag = (
f"{branch.replace('/', '-')}-{sha[:7]}"
if branch and sha
else branch or "dev"
)
celery_image = f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['CELERY_IMAGE']}:{image_tag}"
payload = { payload = {
"ref": f"refs/heads/{branch}", "ref": f"refs/heads/{branch}",
"after": sha, "after": sha,
@@ -503,8 +514,9 @@ jobs:
"sha": sha, "sha": sha,
"actor": os.environ.get("GITHUB_ACTOR"), "actor": os.environ.get("GITHUB_ACTOR"),
"target": os.environ.get("CURRENT_DOKPLOY_TARGET"), "target": os.environ.get("CURRENT_DOKPLOY_TARGET"),
"image_tag": image_tag,
"images": { "images": {
"web": f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['WEB_IMAGE']}:dev", "web": f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['WEB_IMAGE']}:{image_tag}",
"worker": celery_image, "worker": celery_image,
"beat": celery_image, "beat": celery_image,
}, },
@@ -703,7 +715,12 @@ jobs:
sha = os.environ.get("GITHUB_SHA") or "" sha = os.environ.get("GITHUB_SHA") or ""
server_url = os.environ.get("GITHUB_SERVER_URL", "").rstrip("/") server_url = os.environ.get("GITHUB_SERVER_URL", "").rstrip("/")
repository_url = f"{server_url}/{repository}" if server_url and repository else "" repository_url = f"{server_url}/{repository}" if server_url and repository else ""
celery_image = f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['CELERY_IMAGE']}:dev" image_tag = (
f"{branch.replace('/', '-')}-{sha[:7]}"
if branch and sha
else branch or "dev"
)
celery_image = f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['CELERY_IMAGE']}:{image_tag}"
payload = { payload = {
"ref": f"refs/heads/{branch}", "ref": f"refs/heads/{branch}",
"after": sha, "after": sha,
@@ -733,8 +750,9 @@ jobs:
"sha": sha, "sha": sha,
"actor": os.environ.get("GITHUB_ACTOR"), "actor": os.environ.get("GITHUB_ACTOR"),
"target": os.environ.get("CURRENT_DOKPLOY_TARGET"), "target": os.environ.get("CURRENT_DOKPLOY_TARGET"),
"image_tag": image_tag,
"images": { "images": {
"web": f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['WEB_IMAGE']}:dev", "web": f"{os.environ['REGISTRY_HOST']}/{os.environ['REGISTRY_NAMESPACE']}/{os.environ['WEB_IMAGE']}:{image_tag}",
"worker": celery_image, "worker": celery_image,
"beat": celery_image, "beat": celery_image,
}, },

View File

@@ -16,6 +16,7 @@ services:
migrate: migrate:
build: *web-build build: *web-build
image: ${WEB_IMAGE:-mostovik/web:latest} image: ${WEB_IMAGE:-mostovik/web:latest}
pull_policy: always
container_name: mostovik_migrate container_name: mostovik_migrate
env_file: env_file:
- .env.prod - .env.prod
@@ -27,6 +28,7 @@ services:
web: web:
build: *web-build build: *web-build
image: ${WEB_IMAGE:-mostovik/web:latest} image: ${WEB_IMAGE:-mostovik/web:latest}
pull_policy: always
container_name: mostovik_web container_name: mostovik_web
restart: unless-stopped restart: unless-stopped
env_file: env_file:
@@ -46,6 +48,7 @@ services:
celery_worker: celery_worker:
build: *celery-build build: *celery-build
image: ${CELERY_IMAGE:-mostovik/celery:latest} image: ${CELERY_IMAGE:-mostovik/celery:latest}
pull_policy: always
container_name: mostovik_celery_worker container_name: mostovik_celery_worker
restart: unless-stopped restart: unless-stopped
environment: environment:
@@ -66,6 +69,7 @@ services:
celery_beat: celery_beat:
build: *celery-build build: *celery-build
image: ${CELERY_IMAGE:-mostovik/celery:latest} image: ${CELERY_IMAGE:-mostovik/celery:latest}
pull_policy: always
container_name: mostovik_celery_beat container_name: mostovik_celery_beat
restart: unless-stopped restart: unless-stopped
env_file: env_file: