61 lines
1.9 KiB
YAML
61 lines
1.9 KiB
YAML
steps:
|
|
- name: build-db
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
settings:
|
|
repo: registry.ci.poc.mehl.mx/poc/dummy-service-db
|
|
dockerfile: Dockerfile.db
|
|
tag: ${CI_COMMIT_SHA:0:8}
|
|
registry: registry.ci.poc.mehl.mx
|
|
username:
|
|
from_secret: zot_username
|
|
password:
|
|
from_secret: zot_password
|
|
|
|
- name: build-app
|
|
image: woodpeckerci/plugin-docker-buildx
|
|
settings:
|
|
repo: registry.ci.poc.mehl.mx/poc/dummy-service-app
|
|
dockerfile: Dockerfile.app
|
|
tag: ${CI_COMMIT_SHA:0:8}
|
|
registry: registry.ci.poc.mehl.mx
|
|
username:
|
|
from_secret: zot_username
|
|
password:
|
|
from_secret: zot_password
|
|
|
|
- name: publish-deployment-artifact
|
|
image: alpine:3.20
|
|
environment:
|
|
REGISTRY: registry.ci.poc.mehl.mx
|
|
IMAGE_TAG: ${CI_COMMIT_SHA:0:8}
|
|
SOURCE_COMMIT: ${CI_COMMIT_SHA}
|
|
ZOT_USERNAME:
|
|
from_secret: zot_username
|
|
ZOT_PASSWORD:
|
|
from_secret: zot_password
|
|
commands:
|
|
- apk add --no-cache oras
|
|
- mkdir -p /tmp/deploy-bundle
|
|
- cp compose.yaml secrets.prod.env /tmp/deploy-bundle/
|
|
- echo "IMAGE_TAG=${IMAGE_TAG}" > /tmp/deploy-bundle/release.env
|
|
- echo "SOURCE_COMMIT=${SOURCE_COMMIT}" >> /tmp/deploy-bundle/release.env
|
|
- echo "REGISTRY=${REGISTRY}" >> /tmp/deploy-bundle/release.env
|
|
- oras login "${REGISTRY}" -u "${ZOT_USERNAME}" -p "${ZOT_PASSWORD}"
|
|
- cd /tmp/deploy-bundle && oras push "${REGISTRY}/poc/deploy/dummy-service:${IMAGE_TAG}" compose.yaml secrets.prod.env release.env
|
|
|
|
- name: trigger-deployment
|
|
image: woodpeckerci/plugin-trigger
|
|
settings:
|
|
repositories:
|
|
- mxmehl/deployments
|
|
deploy: production
|
|
params:
|
|
- ARTIFACT=registry.ci.poc.mehl.mx/poc/deploy/dummy-service:${CI_COMMIT_SHA:0:8}
|
|
- TARGET=target1
|
|
token:
|
|
from_secret: woodpecker_trigger_token
|
|
|
|
when:
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
event: push
|