Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
backend-deploy:
image: ruby:2.4
stage: deploy
only:
- staging
before_script:
- gem install dpl
- wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh
script:
- dpl --provider=heroku --app=$HEROKU_APPNAME --api-key=$HEROKU_APIKEY
FROM ubuntu:18.04
RUN mkdir /opt/sonar-scanner && \
mkdir /opt/sonar-scanner/conf && \
mkdir /opt/sonar-scanner/bin
WORKDIR /opt/sonar-scanner
RUN apt-get update -y && apt-get install -y \
libpq-dev -y \
unzip \
wget \
default-jre \
...
sonarqube:
image: nuga99/sonar-scanner-python
stage: sonarqube
before_script:
- python3 -V
- pip3 install -r requirements.txt
script:
- if [[ $CI_COMMIT_REF_NAME == staging ]]; then ENVIRON="sip.settings.staging"; else ENVIRON="sip.settings.dev"; fi
- coverage run --omit='manage.py,*/venv/*,**/python3.6/**,authentication/cas_wrapper.py,/usr/**' manage.py test --settings=${ENVIRON}
...
lint:
stage: flake8
script:
- flake8
allow_failure: true
...
dev-test:
stage: test
script:
- echo "SECRET_KEY=$SECRET_KEY_DJANGO" > .env.dev
- apt-get update -qq
- python manage.py collectstatic --settings=sip.settings.dev --no-input
- python manage.py runserver 8000 --settings=sip.settings.dev &
when: on_success
script:
- python manage.py test --settings=sip.settings.dev
@xb4dc0d3
xb4dc0d3 / .gitlab-ci.yml
Last active March 9, 2020 14:44
Base images, stages. and cache
image: python:latest
stages:
- test
- flake8
- build
- sonarqube
- deploy
variables: