Files
studio-auth-be/.woodpecker.yml
chyoo 8d5e2f8113
ci/woodpecker/push/woodpecker Pipeline was successful
patch..
2026-08-13 13:30:58 +09:00

77 lines
2.6 KiB
YAML

steps:
check:
image: oven/bun:1.2.23
commands:
- bun install --frozen-lockfile
when:
branch: develop
event: push
build-push:
image: docker:27-cli
volumes:
- /var/run/docker.sock:/var/run/docker.sock
commands:
- docker build -t localhost:5000/studio-auth-be:0.1.1 .
- docker push localhost:5000/studio-auth-be:0.1.1
when:
branch: release
event: push
migrate:
image: bitnami/kubectl:latest
volumes:
- /home/future2/Studio_v2/woodpecker/kube/config:/tmp/kubeconfig:ro
commands:
- |
set -eu
commit="$(printf %.8s "$CI_COMMIT_SHA")"
job="studio-auth-migrate-$commit"
kubectl --kubeconfig=/tmp/kubeconfig -n studio-system delete job "$job" --ignore-not-found
cat <<'EOF' | sed "s/__JOB_NAME__/$job/g" | kubectl --kubeconfig=/tmp/kubeconfig apply -f -
apiVersion: batch/v1
kind: Job
metadata:
name: __JOB_NAME__
namespace: studio-system
spec:
backoffLimit: 1
ttlSecondsAfterFinished: 600
template:
spec:
restartPolicy: Never
containers:
- name: migrate
image: localhost:5000/studio-auth-be:0.1.1
imagePullPolicy: Always
command:
- sh
- -lc
- |
export DATABASE_URL="postgresql://$(printenv POSTGRES_USER):$(bun -e 'process.stdout.write(encodeURIComponent(process.env.POSTGRES_PASSWORD ?? ""))')@studio-auth-db.studio-system.svc.cluster.local:5432/$(printenv POSTGRES_DB)?schema=public"
bunx --no-install prisma migrate deploy
envFrom:
- secretRef:
name: studio-auth-be-env
- secretRef:
name: studio-auth-db-secret
EOF
if ! kubectl --kubeconfig=/tmp/kubeconfig -n studio-system wait --for=condition=complete "job/$job" --timeout=180s; then
kubectl --kubeconfig=/tmp/kubeconfig -n studio-system logs "job/$job" --all-containers=true || true
exit 1
fi
when:
branch: release
event: push
deploy:
image: bitnami/kubectl:latest
volumes:
- /home/future2/Studio_v2/woodpecker/kube/config:/tmp/kubeconfig:ro
commands:
- kubectl --kubeconfig=/tmp/kubeconfig -n studio-system rollout restart deployment/studio-auth-be
- kubectl --kubeconfig=/tmp/kubeconfig -n studio-system rollout status deployment/studio-auth-be
when:
branch: release
event: push