Files
bcard/.woodpecker.yml
killingdruid c2e1678416
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
use Gitea API for manifest update
2026-02-15 00:01:08 +00:00

34 lines
1.4 KiB
YAML

when:
- branch: main
event: push
path:
exclude:
- 'k8s/**'
on_empty: true
steps:
- name: build-and-push
image: woodpeckerci/plugin-kaniko
settings:
registry: git.mikhailkilin.ru
repo: killingdruid/bcard
tags: ${CI_COMMIT_SHA}
username:
from_secret: docker_username
password:
from_secret: docker_password
- name: update-manifests
image: alpine/curl
environment:
GITEA_TOKEN:
from_secret: gitea_token
commands:
- apk add --no-cache jq sed
- 'FILE_SHA=$(curl -sk -H "Authorization: token ${GITEA_TOKEN}" "https://git.mikhailkilin.ru/api/v1/repos/killingdruid/bcard/contents/k8s/bcard.yaml" | jq -r .sha)'
- 'CURRENT=$(curl -sk -H "Authorization: token ${GITEA_TOKEN}" "https://git.mikhailkilin.ru/api/v1/repos/killingdruid/bcard/raw/k8s/bcard.yaml")'
- 'UPDATED=$(echo "$CURRENT" | sed "s#image: git.mikhailkilin.ru/killingdruid/bcard:.*#image: git.mikhailkilin.ru/killingdruid/bcard:${CI_COMMIT_SHA}#")'
- 'NEW_CONTENT=$(echo "$UPDATED" | base64 -w 0)'
- 'curl -sk -X PUT -H "Authorization: token ${GITEA_TOKEN}" -H "Content-Type: application/json" -d "{\"content\":\"${NEW_CONTENT}\",\"message\":\"[CI SKIP] deploy: ${CI_COMMIT_SHA}\",\"sha\":\"${FILE_SHA}\"}" "https://git.mikhailkilin.ru/api/v1/repos/killingdruid/bcard/contents/k8s/bcard.yaml"'
- echo "Manifest updated successfully"