110 lines
2.6 KiB
YAML
110 lines
2.6 KiB
YAML
# Global Variables
|
|
stages:
|
|
- build-buildimage
|
|
- test
|
|
- build
|
|
- docs
|
|
- deploy
|
|
image: docker.beryju.org/passbook/build-base:latest
|
|
services:
|
|
- postgres:latest
|
|
- redis:latest
|
|
|
|
variables:
|
|
POSTGRES_DB: passbook
|
|
POSTGRES_USER: passbook
|
|
POSTGRES_PASSWORD: "EK-5jnKfjrGRm<77"
|
|
|
|
create-build-image:
|
|
image:
|
|
name: gcr.io/kaniko-project/executor:debug
|
|
entrypoint: [""]
|
|
before_script:
|
|
- echo "{\"auths\":{\"docker.$NEXUS_URL\":{\"auth\":\"$NEXUS_AUTH\"}}}" > /kaniko/.docker/config.json
|
|
script:
|
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile.build-base --destination docker.beryju.org/passbook/build-base:latest --destination docker.beryju.org/passbook/build-base:0.1.33-beta
|
|
stage: build-buildimage
|
|
only:
|
|
refs:
|
|
- tags
|
|
- /^version/.*$/
|
|
|
|
isort:
|
|
script:
|
|
- isort -c -sg env
|
|
stage: test
|
|
migrations:
|
|
script:
|
|
- python manage.py migrate
|
|
stage: test
|
|
prospector:
|
|
script:
|
|
- prospector
|
|
stage: test
|
|
pylint:
|
|
script:
|
|
- pylint passbook
|
|
stage: test
|
|
coverage:
|
|
script:
|
|
- python manage.py collectstatic --no-input
|
|
- coverage run manage.py test
|
|
- coverage report
|
|
stage: test
|
|
bandit:
|
|
script:
|
|
- bandit -r passbook
|
|
stage: test
|
|
|
|
package-docker:
|
|
image:
|
|
name: gcr.io/kaniko-project/executor:debug
|
|
entrypoint: [""]
|
|
before_script:
|
|
- echo "{\"auths\":{\"docker.$NEXUS_URL\":{\"auth\":\"$NEXUS_AUTH\"}}}" > /kaniko/.docker/config.json
|
|
script:
|
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination docker.beryju.org/passbook/server:latest --destination docker.beryju.org/passbook/server:0.1.33-beta
|
|
stage: build
|
|
only:
|
|
- tags
|
|
- /^version/.*$/
|
|
package-helm:
|
|
stage: build
|
|
script:
|
|
- curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
|
|
- helm init --client-only
|
|
- helm package helm/passbook
|
|
artifacts:
|
|
paths:
|
|
- passbook-*.tgz
|
|
expire_in: 2 days
|
|
only:
|
|
- tags
|
|
- /^version/.*$/
|
|
|
|
package-client-package-allauth:
|
|
script:
|
|
- cd client-packages/allauth
|
|
- python setup.py sdist
|
|
- twine upload --username $TWINE_USERNAME --password $TWINE_PASSWORD dist/*
|
|
stage: build
|
|
only:
|
|
refs:
|
|
- tags
|
|
- /^version/.*$/
|
|
changes:
|
|
- client-packages/allauth/**
|
|
|
|
package-client-package-sentry:
|
|
script:
|
|
- cd client-packages/sentry-auth-passbook
|
|
- python setup.py sdist
|
|
- twine upload --username $TWINE_USERNAME --password $TWINE_PASSWORD dist/*
|
|
stage: build
|
|
only:
|
|
refs:
|
|
- tags
|
|
- /^version/.*$/
|
|
changes:
|
|
- client-packages/sentry-auth-passbook/**
|