when: branch: main event: push steps: - name: build-and-push image: gcr.io/kaniko-project/executor:debug environment: DOCKER_USERNAME: from_secret: docker_username DOCKER_PASSWORD: from_secret: docker_password commands: - 'TAG=${CI_COMMIT_SHA:0:8}' - 'REGISTRY=git.mikhailkilin.ru' - 'REPO=killingdruid/bcard' - 'echo "Building $REGISTRY/$REPO:$TAG"' - 'AUTH=$(echo -n "$DOCKER_USERNAME:$DOCKER_PASSWORD" | base64)' - 'mkdir -p /kaniko/.docker' - 'printf "{\"auths\":{\"%s\":{\"auth\":\"%s\"}}}" "$REGISTRY" "$AUTH" > /kaniko/.docker/config.json' - '/kaniko/executor --context=$CI_WORKSPACE --dockerfile=$CI_WORKSPACE/Dockerfile --destination=$REGISTRY/$REPO:$TAG --destination=$REGISTRY/$REPO:latest --insecure --skip-tls-verify --verbosity=info 2>&1 || echo "KANIKO EXIT CODE: $?"' - name: update-manifests image: alpine environment: DOCKER_USERNAME: from_secret: docker_username DOCKER_PASSWORD: from_secret: docker_password commands: - apk add --no-cache git - 'TAG=${CI_COMMIT_SHA:0:8}' - 'sed -i "s|image:.*killingdruid/bcard:.*|image: git.mikhailkilin.ru/killingdruid/bcard:$TAG|" k8s/bcard.yaml' - 'git config user.email "ci@mikhailkilin.ru"' - 'git config user.name "Woodpecker CI"' - git add k8s/bcard.yaml - 'git diff --cached --quiet && echo No_changes || git commit -m "[skip ci] deploy bcard:$TAG"' - 'git push https://$DOCKER_USERNAME:$DOCKER_PASSWORD@git.mikhailkilin.ru/killingdruid/bcard.git HEAD:main'