34 lines
868 B
YAML
34 lines
868 B
YAML
stages:
|
|
- build
|
|
|
|
variables:
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_TLS_CERTDIR: "/certs"
|
|
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
|
|
LATEST_TAG: $CI_REGISTRY_IMAGE:latest
|
|
|
|
build-and-push:
|
|
stage: build
|
|
image: docker:24-cli
|
|
services:
|
|
- docker:24-dind
|
|
before_script:
|
|
- echo "Logging into GitLab Container Registry..."
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
script:
|
|
- echo "Building Docker image..."
|
|
- docker build -t $IMAGE_TAG -t $LATEST_TAG .
|
|
- echo "Pushing Docker image to registry..."
|
|
- docker push $IMAGE_TAG
|
|
- docker push $LATEST_TAG
|
|
- echo "Build and push completed successfully!"
|
|
- echo "Image available at $IMAGE_TAG"
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == "main"
|
|
when: always
|
|
- if: $CI_COMMIT_TAG
|
|
when: always
|
|
- when: manual
|
|
tags:
|
|
- docker
|