.gitlab-ci.yml 4.79 KiB
workflow:
rules:
# NOTE: don't run pipeline if commit is a Merge/Pull-Request
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: 'never'
# Otherwise:
- when: 'always'
variables:
version: '0.0.$CI_PIPELINE_IID'
k8sVersion: '1.20.5'
stages:
- npm
- build
- test
- deploy
- release
# job_install-npm:
# stage: npm
# script:
# - npm config set registry ${CI_NPM_REGISTRY}
# - npm install
# cache:
# paths:
# - node_modules/
# artifacts:
# expire_in: 1 days
# when: on_success
# paths:
# - node_modules/
job_build-image:
stage: build
tags:
- docker-privileged
image: docker:20.10.12
services:
- name: docker:20.10.12-dind
before_script:
- apk add --no-cache docker-compose
# - docker info
# - docker-compose --version
script:
- docker-compose up -d --build
# # - docker ps
# # - docker network list
# # NOTE: push image to local registry so that it can be accessed in subsequent jobs
# - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
# - docker push "${CI_REGISTRY_IMAGE}:${CI_PIPELINE_IID}-${CI_COMMIT_SHORT_SHA}"
after_script:
# - docker-compose logs || true
- docker-compose down || true
# - docker-compose rm --force "${CI_REGISTRY_IMAGE}:${CI_PIPELINE_IID}-${CI_COMMIT_SHORT_SHA}"
job_test-image:
stage: test
tags:
- docker-privileged
image: docker:20.10.12
services:
- name: docker:20.10.12-dind
alias: containerhost
variables:
# NOTE: some random port that hopefully is free on the runner
outerPort: '38080'
before_script: