30 lines
945 B
YAML
30 lines
945 B
YAML
stages:
|
|
- build
|
|
|
|
# Builds the production image (see Dockerfile: bun build → dist/, served by
|
|
# `bun src/index.ts`) and pushes it to this project's GitLab Container Registry.
|
|
#
|
|
# docker run -p 3000:3000 -v whisper-data:/app/data $CI_REGISTRY_IMAGE:latest
|
|
build-image:
|
|
stage: build
|
|
image: docker:27
|
|
services:
|
|
- docker:27-dind
|
|
variables:
|
|
DOCKER_TLS_CERTDIR: "/certs"
|
|
IMAGE_SHA: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
|
|
IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest
|
|
before_script:
|
|
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY"
|
|
script:
|
|
- docker build --pull -t "$IMAGE_SHA" .
|
|
- docker push "$IMAGE_SHA"
|
|
# Only the default branch moves the :latest tag.
|
|
- |
|
|
if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
|
|
docker tag "$IMAGE_SHA" "$IMAGE_LATEST"
|
|
docker push "$IMAGE_LATEST"
|
|
fi
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH
|