Set pipline for develop

This commit is contained in:
dvirlabs 2025-06-18 02:22:58 +03:00
parent 2398544648
commit 2a27595a8d
2 changed files with 36 additions and 97 deletions

View File

@ -1,67 +1,54 @@
steps: steps:
debug-env:
name: debug-env
image: alpine
when:
event: [ push ]
commands:
- echo "🔍 Available ENV variables:"
- printenv | sort
# === FRONTEND ===
generate-tags-frontend:
name: generate-tags-frontend
image: ghcr.io/dvjn/woodpecker-docker-tags-plugin
when:
event: [ push ]
path:
include: [ frontend/** ]
settings:
tags: |
edge -b develop -v develop
edge -b master -v latest
sha
raw -v develop-${CI_COMMIT_SHA:0:7}
tags_file: .tags-frontend
print-tags-frontend:
name: print-tags-frontend
image: alpine
when:
event: [ push ]
depends_on: [ generate-tags-frontend ]
commands:
- echo "🔥 Tags to push for frontend:"
- cat .tags-frontend
build-frontend: build-frontend:
name: build-frontend name: Build & Push Frontend
image: woodpeckerci/plugin-kaniko image: woodpeckerci/plugin-kaniko
when: when:
event: [ push ] event: [ push, pull_request, tag ]
path: path:
include: [ frontend/** ] include: [ frontend/** ]
depends_on: [ print-tags-frontend ]
settings: settings:
registry: harbor.dvirlabs.com registry: harbor.dvirlabs.com
repo: my-apps/labmap-frontend repo: my-apps/labmap-frontend
dockerfile: frontend/Dockerfile dockerfile: frontend/Dockerfile
context: frontend context: frontend
tags_file: .tags-frontend tags:
- latest
- ${CI_COMMIT_SHA:0:7}
- ${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:7}
username:
from_secret: DOCKER_USERNAME
password:
from_secret: DOCKER_PASSWORD
build-backend:
name: Build & Push Backend
image: woodpeckerci/plugin-kaniko
when:
event: [ push, pull_request, tag ]
path:
include: [ backend/** ]
settings:
registry: harbor.dvirlabs.com
repo: my-apps/labmap-backend
dockerfile: backend/Dockerfile
context: backend
tags:
- latest
- ${CI_COMMIT_SHA:0:7}
- ${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:7}
username: username:
from_secret: DOCKER_USERNAME from_secret: DOCKER_USERNAME
password: password:
from_secret: DOCKER_PASSWORD from_secret: DOCKER_PASSWORD
update-values-frontend: update-values-frontend:
name: update-values-frontend name: Update frontend tag in values.yaml
image: alpine:3.19 image: alpine:3.19
when: when:
event: [ push ] event: [ push ]
path: path:
include: [ frontend/** ] include: [ frontend/** ]
depends_on: [ build-frontend ]
environment: environment:
GIT_USERNAME: GIT_USERNAME:
from_secret: GIT_USERNAME from_secret: GIT_USERNAME
@ -71,11 +58,11 @@ steps:
- apk add --no-cache git yq - apk add --no-cache git yq
- git config --global user.name "woodpecker-bot" - git config --global user.name "woodpecker-bot"
- git config --global user.email "ci@dvirlabs.com" - git config --global user.email "ci@dvirlabs.com"
- git clone "https://${GIT_USERNAME}:${GIT_TOKEN}@git.dvirlabs.com/dvirlabs/my-apps.git" - git clone "https://$${GIT_USERNAME}:$${GIT_TOKEN}@git.dvirlabs.com/dvirlabs/my-apps.git"
- cd my-apps - cd my-apps
- | - |
if [ "$CI_COMMIT_BRANCH" = "develop" ]; then if [ "$CI_COMMIT_BRANCH" = "develop" ]; then
TAG="develop-${CI_COMMIT_SHA:0:7}" TAG="develop-${CI_BUILD_NUMBER}"
else else
TAG="${CI_COMMIT_SHA:0:7}" TAG="${CI_COMMIT_SHA:0:7}"
fi fi
@ -83,62 +70,15 @@ steps:
yq -i ".frontend.tag = \"$TAG\"" manifests/labmap/values.yaml yq -i ".frontend.tag = \"$TAG\"" manifests/labmap/values.yaml
git add manifests/labmap/values.yaml git add manifests/labmap/values.yaml
git commit -m "frontend: update tag to $TAG" || echo "No changes" git commit -m "frontend: update tag to $TAG" || echo "No changes"
git push origin HEAD git push origin master
# === BACKEND ===
generate-tags-backend:
name: generate-tags-backend
image: ghcr.io/dvjn/woodpecker-docker-tags-plugin
when:
event: [ push ]
path:
include: [ backend/** ]
settings:
tags: |
edge -b develop -v develop
edge -b master -v latest
sha
raw -v develop-${CI_COMMIT_SHA:0:7}
tags_file: .tags-backend
print-tags-backend:
name: print-tags-backend
image: alpine
when:
event: [ push ]
depends_on: [ generate-tags-backend ]
commands:
- echo "🔥 Tags to push for backend:"
- cat .tags-backend
build-backend:
name: build-backend
image: woodpeckerci/plugin-kaniko
when:
event: [ push ]
path:
include: [ backend/** ]
depends_on: [ print-tags-backend ]
settings:
registry: harbor.dvirlabs.com
repo: my-apps/labmap-backend
dockerfile: backend/Dockerfile
context: backend
tags_file: .tags-backend
username:
from_secret: DOCKER_USERNAME
password:
from_secret: DOCKER_PASSWORD
update-values-backend: update-values-backend:
name: update-values-backend name: Update backend tag in values.yaml
image: alpine:3.19 image: alpine:3.19
when: when:
event: [ push ] event: [ push ]
path: path:
include: [ backend/** ] include: [ backend/** ]
depends_on: [ build-backend ]
environment: environment:
GIT_USERNAME: GIT_USERNAME:
from_secret: GIT_USERNAME from_secret: GIT_USERNAME
@ -148,11 +88,11 @@ steps:
- apk add --no-cache git yq - apk add --no-cache git yq
- git config --global user.name "woodpecker-bot" - git config --global user.name "woodpecker-bot"
- git config --global user.email "ci@dvirlabs.com" - git config --global user.email "ci@dvirlabs.com"
- git clone "https://${GIT_USERNAME}:${GIT_TOKEN}@git.dvirlabs.com/dvirlabs/my-apps.git" - git clone "https://$${GIT_USERNAME}:$${GIT_TOKEN}@git.dvirlabs.com/dvirlabs/my-apps.git"
- cd my-apps - cd my-apps
- | - |
if [ "$CI_COMMIT_BRANCH" = "develop" ]; then if [ "$CI_COMMIT_BRANCH" = "develop" ]; then
TAG="develop-${CI_COMMIT_SHA:0:7}" TAG="develop-${CI_BUILD_NUMBER}"
else else
TAG="${CI_COMMIT_SHA:0:7}" TAG="${CI_COMMIT_SHA:0:7}"
fi fi
@ -160,4 +100,4 @@ steps:
yq -i ".backend.tag = \"$TAG\"" manifests/labmap/values.yaml yq -i ".backend.tag = \"$TAG\"" manifests/labmap/values.yaml
git add manifests/labmap/values.yaml git add manifests/labmap/values.yaml
git commit -m "backend: update tag to $TAG" || echo "No changes" git commit -m "backend: update tag to $TAG" || echo "No changes"
git push origin HEAD git push origin master

View File

@ -81,6 +81,5 @@ def list_icons():
return categories return categories
if __name__ == "__main__": if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000) uvicorn.run(app, host="0.0.0.0", port=8000)