53 lines
1.0 KiB
YAML
53 lines
1.0 KiB
YAML
stages:
|
|
- build
|
|
- docker-build
|
|
- deploy
|
|
|
|
build:
|
|
tags:
|
|
- docker
|
|
image: node:19-alpine
|
|
stage: build
|
|
artifacts:
|
|
paths:
|
|
- node_modules
|
|
- dist
|
|
script:
|
|
- yarn install
|
|
- yarn build
|
|
|
|
docker-build:
|
|
tags:
|
|
- docker-build
|
|
stage: docker-build
|
|
before_script:
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
script:
|
|
- |
|
|
if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
|
|
tag=""
|
|
echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'"
|
|
else
|
|
tag=":$CI_COMMIT_REF_SLUG"
|
|
echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag"
|
|
fi
|
|
- docker build --pull -t "$CI_REGISTRY_IMAGE${tag}" .
|
|
- docker push "$CI_REGISTRY_IMAGE${tag}"
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH
|
|
exists:
|
|
- Dockerfile
|
|
|
|
docker-deploy:
|
|
stage: deploy
|
|
tags:
|
|
- production
|
|
before_script:
|
|
- cd $PRODUCTION_DIR
|
|
script:
|
|
- docker-compose pull
|
|
- docker-compose up -d
|
|
only:
|
|
refs:
|
|
- master
|