-
Nathan Hertz authoredNathan Hertz authored
.gitlab-ci.yml 8.67 KiB
stages:
- build-base
- push-base
- run-schema
- cache-build
- build
- unit-test
- test-coverage
- push
- deploy-coverage-page
- deploy
- e2e-test
- .post
# - deploy-test
variables:
# Gitlab optimization https://docs.gitlab.com/ee/ci/large_repositories/
GIT_DEPTH: 10
# Workspaces default variables
PROJECT_NAME: "workspaces"
DEPLOY_ENV: "dev"
DL_HOST: https://dl-nrao.aoc.nrao.edu
ENV_HOST: ws-dev.nrao.edu
# Postgres Service Variables
POSTGRES_DB: archive
POSTGRES_USER: "archive"
POSTGRES_PASSWORD: "docker"
# CI Postgres Service
services:
- name: ssa-containers.aoc.nrao.edu/ops/ci/db:workspaces
alias: db
image: docker:19.03.12
workflow:
rules:
- if: $CI_MERGE_REQUEST_TITLE =~ /^WIP:|^Draft:/
when: never
- if: $CI_MERGE_REQUEST_IID
- if: $CI_COMMIT_TAG
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
# Import Templates
include:
- '/ci/build.template.yml'
- '/ci/push.template.yml'
- '/ci/cleanup.template.yml'
- '/ci/unit-test.template.yml'
# Build Base Image
build base image:
stage: build-base
script:
- docker build -t ${REGISTRY_URL}/ops/base:${PROJECT_NAME} -f Dockerfile.base .
- docker tag ${REGISTRY_URL}/ops/base:${PROJECT_NAME} ${REGISTRY_URL}/ops/base:${CI_COMMIT_SHORT_SHA}
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes:
- Dockerfile.base
- docker.properties
# Push Base Image Stage
push base image:
stage: push-base
script:
- echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $REGISTRY_URL
- docker push ${REGISTRY_URL}/ops/base:${PROJECT_NAME}
rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'