35 lines
1.5 KiB
YAML
35 lines
1.5 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
|
|
settings:
|
|
token:
|
|
from_secret: gitea_token
|
|
commands:
|
|
- apk add --no-cache jq sed > /dev/null 2>&1
|
|
- 'FILE_SHA=$(curl -sk -H "Authorization: token $PLUGIN_TOKEN" "https://git.mikhailkilin.ru/api/v1/repos/killingdruid/bcard/contents/k8s/bcard.yaml" | jq -r .sha)'
|
|
- 'echo "File SHA: $FILE_SHA"'
|
|
- 'CURRENT=$(curl -sk -H "Authorization: token $PLUGIN_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=$(printf "%s" "$UPDATED" | base64 -w 0)'
|
|
- 'RESULT=$(curl -sk -X PUT -H "Authorization: token $PLUGIN_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 "$RESULT" | jq -r ".content.name // .message"'
|