63 lines
1.6 KiB
YAML
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/
|