diff --git a/k8s/05-app-deployment.yaml b/k8s/05-app-deployment.yaml index 57a98f2..1b82bdf 100644 --- a/k8s/05-app-deployment.yaml +++ b/k8s/05-app-deployment.yaml @@ -24,8 +24,9 @@ spec: seccompProfile: { type: RuntimeDefault } initContainers: - name: migrate - image: git.encry.de/nick.rosenloecher/artista-modelcamp-tools:latest - imagePullPolicy: Always + # Gepinnt auf einen CI-Build (sha-), nicht :latest. Ausrollen siehe README. + image: git.encry.de/nick.rosenloecher/artista-modelcamp-tools:sha-REPLACE_ME + imagePullPolicy: IfNotPresent command: ["prisma", "migrate", "deploy"] envFrom: - secretRef: { name: artista-modelcamp-secrets } @@ -37,8 +38,8 @@ spec: capabilities: { drop: ["ALL"] } containers: - name: app - image: git.encry.de/nick.rosenloecher/artista-modelcamp:latest - imagePullPolicy: Always + image: git.encry.de/nick.rosenloecher/artista-modelcamp:sha-REPLACE_ME + imagePullPolicy: IfNotPresent ports: - name: http containerPort: 3000 diff --git a/k8s/07-worker-cronjob.yaml b/k8s/07-worker-cronjob.yaml index dcd8b72..b9aa2bd 100644 --- a/k8s/07-worker-cronjob.yaml +++ b/k8s/07-worker-cronjob.yaml @@ -25,8 +25,9 @@ spec: seccompProfile: { type: RuntimeDefault } containers: - name: worker - image: git.encry.de/nick.rosenloecher/artista-modelcamp-tools:latest - imagePullPolicy: Always + # Gepinnt auf einen CI-Build (sha-), nicht :latest. Ausrollen siehe README. + image: git.encry.de/nick.rosenloecher/artista-modelcamp-tools:sha-REPLACE_ME + imagePullPolicy: IfNotPresent command: ["tsx", "scripts/worker.ts"] envFrom: - configMapRef: { name: artista-modelcamp-config } diff --git a/k8s/README.md b/k8s/README.md index bda6031..b73841b 100644 --- a/k8s/README.md +++ b/k8s/README.md @@ -68,10 +68,20 @@ kubectl -n artista run admin-create --rm -i --restart=Never \ ## Bei einem neuen Image (Redeploy) +Die Manifeste sind auf einen Build gepinnt, nicht auf `:latest`. Den Tag `sha-` (7 Zeichen) zeigt der CI-Lauf in der Zusammenfassung. App und Werkzeuge immer mit demselben Tag ausrollen: + ```bash -kubectl rollout restart deployment/artista-modelcamp-app -n artista +TAG=sha- +kubectl -n artista set image deployment/artista-modelcamp-app \ + migrate=git.encry.de/nick.rosenloecher/artista-modelcamp-tools:$TAG \ + app=git.encry.de/nick.rosenloecher/artista-modelcamp:$TAG +kubectl -n artista set image cronjob/artista-modelcamp-worker \ + worker=git.encry.de/nick.rosenloecher/artista-modelcamp-tools:$TAG +kubectl -n artista rollout status deployment/artista-modelcamp-app ``` +Zurueck auf den vorherigen Stand: `kubectl -n artista rollout undo deployment/artista-modelcamp-app` (den CronJob dann wieder auf den alten Tag setzen). + ## Fehlersuche ```bash