Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/manual/woodpecker Pipeline failed
CD - Build & Deploy / build-and-push (push) Has been cancelled
CD - Build & Deploy / package-helm (push) Has been cancelled
CD - Build & Deploy / deploy-staging (push) Has been cancelled
CD - Build & Deploy / deploy-production (push) Has been cancelled
CD - Build & Deploy / release (push) Has been cancelled
CI / test (3.11) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / security (push) Has been cancelled
31 lines
1.2 KiB
YAML
31 lines
1.2 KiB
YAML
# Peikarband Platform - Woodpecker CI/CD Pipeline
|
|
# Harbor: hub.peikarband.ir
|
|
# مشکل: kaniko executor distroless است و /bin/sh ندارد
|
|
# راهحل: استفاده از image که هم shell دارد و هم kaniko executor
|
|
|
|
steps:
|
|
build-and-push:
|
|
# استفاده از image که هم shell دارد (برای commands) و هم kaniko executor
|
|
image: gcr.io/kaniko-project/executor:debug
|
|
environment:
|
|
HARBOR_USERNAME:
|
|
from_secret: harbor_username
|
|
HARBOR_PASSWORD:
|
|
from_secret: harbor_password
|
|
commands:
|
|
- mkdir -p /kaniko/.docker
|
|
- |
|
|
USERNAME="${HARBOR_USERNAME:-admin}"
|
|
PASSWORD="${HARBOR_PASSWORD:-5459ed7590d37656410fae38bdf59eb7ee33b68cd4c}"
|
|
AUTH=$(echo -n "${USERNAME}:${PASSWORD}" | base64 -w 0)
|
|
echo "{\"auths\":{\"hub.peikarband.ir\":{\"auth\":\"${AUTH}\"}}}" > /kaniko/.docker/config.json
|
|
- /kaniko/executor
|
|
--dockerfile=Dockerfile
|
|
--context=dir://.
|
|
--destination=hub.peikarband.ir/peikarband/landing:latest
|
|
--destination=hub.peikarband.ir/peikarband/landing:${CI_COMMIT_SHA:0:8}
|
|
--skip-tls-verify=false
|
|
--verbosity=info
|
|
when:
|
|
event: [push, tag, manual]
|