link-stack/.gitlab-ci.yml
2023-06-20 07:49:52 +00:00

63 lines
1.6 KiB
YAML

image: node:20-bullseye-slim
stages:
- build
- docker-build
- docker-release
build-all:
stage: build
script:
- npm install -g turbo
- npm ci
- turbo build
.docker-build:
image: registry.gitlab.com/guardianproject-ops/docker-alpine-git:latest
services:
- docker:dind
stage: docker-build
variables:
DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/$(basename "${PWD}")
DOCKER_TAG: ${CI_COMMIT_SHORT_SHA}
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} ${PWD}
- docker push
.docker-release:
image: registry.gitlab.com/guardianproject-ops/docker-alpine-git:latest
services:
- docker:dind
stage: docker-release
variables:
DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/$(basename "${PWD}")
DOCKER_TAG: ${CI_COMMIT_SHORT_SHA}
DOCKER_TAG_NEW: ${CI_COMMIT_REF_NAME}-$(shell jq -r '.version' package.json)
only:
- main
- develop
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker pull ${DOCKER_NS}:${DOCKER_TAG}
- docker tag ${DOCKER_NS}:${DOCKER_TAG} ${DOCKER_NS}:${DOCKER_TAG_NEW}
- docker push ${DOCKER_NS}:${DOCKER_TAG_NEW}
link-docker-build:
extends: .docker-build
before_script:
- cd apps/link
variables:
DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/link
link-docker-release:
extends: .docker-release
before_script:
- cd apps/link
variables:
DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/link
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- .turbo/