45 lines
1.1 KiB
YAML
45 lines
1.1 KiB
YAML
workflow:
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "web"'
|
|
- when: never
|
|
|
|
stages:
|
|
- publish
|
|
|
|
variables:
|
|
DOCKER_HOST: tcp://docker:2375
|
|
DOCKER_TLS_CERTDIR: ""
|
|
DOCKER_DRIVER: overlay2
|
|
DEFAULT_IMAGE_REPO: swr.cn-north-1.myhuaweicloud.com/sino-bridge/sinocode-analytics
|
|
PUSH_LATEST: "true"
|
|
|
|
publish:huawei-swr:
|
|
stage: publish
|
|
image: docker:28.0.4-cli
|
|
services:
|
|
- name: docker:28.0.4-dind
|
|
command: ["--tls=false"]
|
|
script:
|
|
- |
|
|
if [ -z "${DOCKER_LOGIN_COMMAND:-}" ]; then
|
|
echo "Set DOCKER_LOGIN_COMMAND when running the pipeline."
|
|
exit 1
|
|
fi
|
|
- sh -lc "$DOCKER_LOGIN_COMMAND"
|
|
- |
|
|
IMAGE_REPO="${IMAGE_REPO:-$DEFAULT_IMAGE_REPO}"
|
|
IMAGE_TAG="${IMAGE_TAG:-$CI_COMMIT_SHORT_SHA}"
|
|
IMAGE_REF="$IMAGE_REPO:$IMAGE_TAG"
|
|
|
|
echo "Building $IMAGE_REF"
|
|
docker build --pull -t "$IMAGE_REF" .
|
|
docker push "$IMAGE_REF"
|
|
|
|
if [ "${PUSH_LATEST:-true}" = "true" ]; then
|
|
LATEST_REF="$IMAGE_REPO:latest"
|
|
docker tag "$IMAGE_REF" "$LATEST_REF"
|
|
docker push "$LATEST_REF"
|
|
fi
|
|
|
|
echo "Published $IMAGE_REF"
|