steps: - name: build-db image: woodpeckerci/plugin-docker-buildx depends_on: [] 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 depends_on: [] 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: prepare-trigger-params image: alpine:3.20 depends_on: [] commands: - echo "ARTIFACT=registry.ci.poc.mehl.mx/poc/deploy/dummy-service:${CI_COMMIT_SHA:0:8}" > trigger.env - echo "TARGET=target1" >> trigger.env - name: publish-deployment-artifact image: alpine:3.20 depends_on: [build-db, build-app] environment: REGISTRY: registry.ci.poc.mehl.mx ZOT_USERNAME: from_secret: zot_username ZOT_PASSWORD: from_secret: zot_password commands: - export IMAGE_TAG=${CI_COMMIT_SHA:0:8} - export SOURCE_COMMIT=${CI_COMMIT_SHA} - apk add --no-cache curl - curl -sL "https://github.com/oras-project/oras/releases/download/v1.3.4/oras_1.3.4_linux_amd64.tar.gz" -o /tmp/oras.tar.gz - mkdir -p /tmp/oras-install && tar -xzf /tmp/oras.tar.gz -C /tmp/oras-install - install /tmp/oras-install/oras /usr/local/bin/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 depends_on: [publish-deployment-artifact, prepare-trigger-params] settings: repositories: - mxmehl/poc-deployment@main deploy: production last-successful: true params: - trigger.env token: from_secret: woodpecker_trigger_token when: branch: ${CI_REPO_DEFAULT_BRANCH} event: push