-
Mattia Mancini authoredMattia Mancini authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 5.01 KiB
stages:
- test
- build
- deploy_to_test
- deploy_to_production
workflow:
rules:
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
variables:
DOCKER_BUILD_IMAGE_TAG: ":stable"
DOCKER_IMAGE_TAG: ":latest"
- if: $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH
variables:
DOCKER_BUILD_IMAGE_TAG: ":latest"
DOCKER_IMAGE_TAG: ":$CI_COMMIT_REF_NAME"
test-code:
image: python:3.10
stage: test
services:
- postgres:11.0
variables:
POSTGRES_DB: ldv-spec-db
POSTGRES_USER: postgres
POSTGRES_PASSWORD: "atdb123"
script:
- cd ldvspec
- pip install -r requirements/dev.txt
- python manage.py migrate --settings ldvspec.settings.ci
- python manage.py test --settings ldvspec.settings.ci
docker-test-build:
variables:
if: main
# Official docker image.
image: docker$DOCKER_BUILD_IMAGE_TAG
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
stage: build
services:
- docker:dind
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE$DOCKER_IMAGE_TAG" ldvspec
- docker push $CI_REGISTRY_IMAGE$DOCKER_IMAGE_TAG
docker-build-master:
# Official docker image.
image: docker$DOCKER_BUILD_IMAGE_TAG
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE" ldvspec
- docker push "$CI_REGISTRY_IMAGE"
only:
- main
# deploy test/dev version on 'sdc-dev.astron.nl'
docker-deploy-main-test:
stage: deploy_to_test
image: alpine:stable
before_script:
##
## Install ssh-agent if not already installed, it is required by Docker.
## (change apt-get to yum if you use an RPM-based image)