29 lines
950 B
YAML
29 lines
950 B
YAML
image: docker:dind
|
|
|
|
stages:
|
|
- build
|
|
- deploy
|
|
|
|
|
|
default:
|
|
before_script:
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
- if ! test -z "$NPMRC"; then echo "$NPMRC" > /root/.npmrc; fi
|
|
|
|
build-and-push docker image to local registry:
|
|
stage: build
|
|
script:
|
|
- if ! test -z "$DOCKERFILE_DIRECTORY"; then cd ${DOCKERFILE_DIRECTORY}; fi
|
|
- docker build -f "${DOCKERFILE_NAME}" ${DOCKER_EXTRA_OPTS} -t "${CI_REGISTRY_IMAGE}:${DOCKER_IMAGE_TAG}" --progress=plain .
|
|
- docker push "${CI_REGISTRY_IMAGE}:${DOCKER_IMAGE_TAG}"
|
|
|
|
push docker to destination registry:
|
|
stage: deploy
|
|
script:
|
|
- if test -z "$DOCKER_REGISTRY"; then exit 0; fi
|
|
- docker pull "${CI_REGISTRY_IMAGE}:${DOCKER_IMAGE_TAG}"
|
|
- docker tag "${CI_REGISTRY_IMAGE}:${DOCKER_IMAGE_TAG}" "${DOCKER_REGISTRY}:${DOCKER_IMAGE_TAG}"
|
|
- docker push "${DOCKER_REGISTRY}:${DOCKER_IMAGE_TAG}"
|
|
needs:
|
|
- "build-and-push docker image to local registry"
|