-
David Mendez authoreda15e352e
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 4.27 KiB
variables:
DOCKER_TLS_CERTDIR: ""
GIT_STRATEGY: clone
REGISTRY_USER: chembl/eubopen
APPLICATION: eubopen-web
SERVER_IMAGE_TAG: ${CI_REGISTRY}/${REGISTRY_USER}/${APPLICATION}:${CI_COMMIT_SHORT_SHA}
DOCKER_DRIVER: overlay
CONFIGS_FOLDER: run_config
# Config staging
ENV_STAGING_FILE_PATH: ${CONFIGS_FOLDER}/staging/.env
# INGRESS_STAGING_FILE_PATH: ${CONFIGS_FOLDER}/staging/ingress.yml
# Config prod hx
ENV_PROD_HX_FILE_PATH: ${CONFIGS_FOLDER}/prod_hx/.env
# Config prod hx
ENV_PROD_HH_FILE_PATH: ${CONFIGS_FOLDER}/prod_hh/.env
stages:
- build
- test_and_qa
- prepare_config
- deploy
# ----------------------------------------------------------------------------------------------------------------------
# build
# ----------------------------------------------------------------------------------------------------------------------
build:
image:
name: docker:latest
entrypoint: ["/bin/sh", "-c"]
stage: build
variables:
DOCKER_HOST: tcp://docker:2375
services:
- docker:dind
tags:
- dind
script:
- set -x
- echo 'building!'
- docker version # verify docker cli is there. Also prints server info
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
- echo building ${SERVER_IMAGE_TAG}
- docker build --tag ${SERVER_IMAGE_TAG} .
- docker push ${SERVER_IMAGE_TAG}
# ----------------------------------------------------------------------------------------------------------------------
# test
# ----------------------------------------------------------------------------------------------------------------------
unit_tests:
stage: test_and_qa
image:
name: $SERVER_IMAGE_TAG
entrypoint: [""]
tags:
- docker
script:
- set -x
- echo 'Implement these tests!'
# ----------------------------------------------------------------------------------------------------------------------
# Prepare Configuration
# ----------------------------------------------------------------------------------------------------------------------
prepare_config_staging:
stage: prepare_config
image:
name: alpine/git
entrypoint: ["/bin/sh", "-c"]
only:
- staging