mirror of
https://github.com/ziirish/burp-ui.git
synced 2026-05-15 14:16:08 -06:00
156 lines
4.8 KiB
YAML
156 lines
4.8 KiB
YAML
variables:
|
|
GIT_DEPTH: 1
|
|
GIT_SUBMODULE_STRATEGY: recursive
|
|
DOCKER_DRIVER: overlay2
|
|
DOCKER_HOST: tcp://localhost:2375
|
|
|
|
image: docker:git
|
|
|
|
services:
|
|
- docker:dind
|
|
|
|
stages:
|
|
- test
|
|
- build
|
|
- deploy
|
|
|
|
test:lint:
|
|
stage: test
|
|
image: python:3.6
|
|
script:
|
|
- pip install flake8 pylint
|
|
- make flake8
|
|
tags:
|
|
- lint
|
|
except:
|
|
- tags
|
|
|
|
test:py3.6:
|
|
stage: test
|
|
image: python:3.6
|
|
script:
|
|
- pip install tox
|
|
- mkdir .reports
|
|
- tox -e py36
|
|
tags:
|
|
- docker
|
|
except:
|
|
- tags
|
|
artifacts:
|
|
reports:
|
|
junit: .reports/burpui.junit.xml
|
|
|
|
build:py3:
|
|
stage: build
|
|
image: python:3.6
|
|
script:
|
|
- /bin/bash tests/run_build.sh
|
|
tags:
|
|
- build
|
|
only:
|
|
- master@ziirish/burp-ui
|
|
- demo@ziirish/burp-ui
|
|
- stable@ziirish/burp-ui
|
|
artifacts:
|
|
paths:
|
|
- dist/
|
|
- meta/
|
|
expire_in: 2 mos
|
|
|
|
build:doc:
|
|
stage: build
|
|
image: python:3.6
|
|
script:
|
|
- pip install -U .[rtd]
|
|
- make doc
|
|
tags:
|
|
- build
|
|
only:
|
|
- master@ziirish/burp-ui
|
|
artifacts:
|
|
paths:
|
|
- docs/_build/html
|
|
expire_in: 2 mos
|
|
allow_failure: true
|
|
|
|
build:docker:latest:
|
|
stage: build
|
|
script:
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
- docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:latest -f docker/Dockerfile .
|
|
- (cd docker/demo/docker-pg && docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/pgsql:10 .)
|
|
- (cd docker/components/docker-burp && docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/burp:2.2.18 .)
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:latest
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/pgsql:10
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/burp:2.2.18
|
|
tags:
|
|
- registry
|
|
only:
|
|
- rc@ziirish/burp-ui
|
|
|
|
build:docker:release:
|
|
stage: build
|
|
script:
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
- docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_TAG -f docker/Dockerfile .
|
|
- (cd docker/demo/docker-pg && docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/pgsql:10 .)
|
|
- (cd docker/components/docker-burp && docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/burp:2.2.18 .)
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_TAG
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/pgsql:10
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/burp:2.2.18
|
|
only:
|
|
- tags
|
|
tags:
|
|
- registry
|
|
|
|
build:docker:stable:
|
|
stage: build
|
|
script:
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
- docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:stable -f docker/Dockerfile .
|
|
- (cd docker/demo/docker-pg && docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/pgsql:10 .)
|
|
- (cd docker/components/docker-burp && docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/burp:2.2.18 .)
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:stable
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/pgsql:10
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/burp:2.2.18
|
|
only:
|
|
- stable@ziirish/burp-ui
|
|
tags:
|
|
- registry
|
|
|
|
build:docker:demo:
|
|
stage: build
|
|
script:
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
- docker build --pull -t $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:demo -f docker/Dockerfile .
|
|
- docker push $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:demo
|
|
- apk add --no-cache curl
|
|
- "curl $SENTRY_WEBHOOK -X POST -H 'Content-Type: application/json' -d '{\"version\": \"'$CI_COMMIT_REF_NAME'_'$CI_COMMIT_SHA'\"}'"
|
|
only:
|
|
- demo@ziirish/burp-ui
|
|
tags:
|
|
- registry
|
|
|
|
deploy:demo:
|
|
stage: deploy
|
|
script:
|
|
- find docker/demo/ -name "install" -o -name "init" | xargs sed -i "s/@build@/$CI_COMMIT_SHA/"
|
|
- cd docker/demo/ && find . -maxdepth 1 -type d -a ! -name dist -exec cp -r ../../dist "{}/" \; -exec cp -r ../../meta "{}/" \; && cd ../..
|
|
- find docker/demo/ -name "Dockerfile" | xargs sed -i "s,^.*@ARTIFACTS@.*$,COPY dist/*.tar.gz /tmp/burpui.dev.tar.gz,;s,^.*@BUIAGENT_ARTIFACTS@.*$,COPY meta/burp-ui-agent*.tar.gz /tmp/burp-ui-agent.dev.tar.gz,;s,^.*@BUIMONITOR_ARTIFACTS@.*$,COPY meta/burp-ui-monitor*.tar.gz /tmp/burp-ui-monitor.dev.tar.gz,"
|
|
- test -d /srv/demo/docker && rm -rf /srv/demo/docker
|
|
- cp -r docker/demo/ /srv/demo/docker
|
|
- cd /srv/demo/docker/
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
- docker-compose build --pull
|
|
- docker-compose stop
|
|
- docker-compose rm -f
|
|
- docker-compose up -d
|
|
tags:
|
|
- deploy
|
|
only:
|
|
- demo@ziirish/burp-ui
|
|
environment:
|
|
name: demo
|
|
url: https://demo.burp-ui.org/
|
|
variables:
|
|
DOCKER_HOST: unix:///var/run/docker.sock
|