diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..f5734ba --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,65 @@ +steps: + build-and-push: + name: Build & Push Docker Image + image: woodpeckerci/plugin-kaniko + when: + branch: [ master, develop ] + event: [ push, pull_request, tag ] + settings: + registry: harbor.dvirlabs.com + repo: gitops/status-api + dockerfile: Dockerfile + context: . + tags: + - latest + - ${CI_COMMIT_TAG:-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:7}} + username: + from_secret: DOCKER_USERNAME + password: + from_secret: DOCKER_PASSWORD + + update-values: + name: Update image tag in observability-stack + image: alpine:3.19 + when: + branch: [ master, develop ] + event: [ push ] + environment: + GIT_USERNAME: + from_secret: GIT_USERNAME + GIT_TOKEN: + from_secret: GIT_TOKEN + commands: + - apk add --no-cache git yq + - git config --global user.name "woodpecker-bot" + - git config --global user.email "ci@dvirlabs.com" + - git clone "https://$${GIT_USERNAME}:$${GIT_TOKEN}@git.dvirlabs.com/dvirlabs/observability-stack.git" + - cd observability-stack + - | + TAG="${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:7}" + echo "💡 Setting status-api image tag to: $TAG" + yq -i ".api.image.tag = \"$TAG\"" manifests/gitops-status-server/values.yaml + git add manifests/gitops-status-server/values.yaml + git commit -m "ci: update status-api tag to $TAG" || echo "No changes" + git push origin HEAD + + trigger-gitops: + name: Trigger apps-gitops via Git push + image: alpine/git + when: + branch: [ master, develop ] + event: [ push ] + environment: + GIT_USERNAME: + from_secret: GIT_USERNAME + GIT_TOKEN: + from_secret: GIT_TOKEN + commands: + - git config --global user.name "woodpecker-bot" + - git config --global user.email "ci@dvirlabs.com" + - git clone "https://$${GIT_USERNAME}:$${GIT_TOKEN}@git.dvirlabs.com/dvirlabs/apps-gitops.git" + - cd apps-gitops + - echo "# trigger at $(date) by gitops-status-api" >> .trigger + - git add .trigger + - git commit -m "ci: trigger apps-gitops build (gitops-status-api)" || echo "no changes" + - git push origin HEAD