ci: add woodpecker pipeline for docker build and push
This commit is contained in:
parent
ec636a02b9
commit
cf19b023e0
65
.woodpecker.yml
Normal file
65
.woodpecker.yml
Normal file
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user