Skip to content
Snippets Groups Projects

202 sphinx pages

Merged Martin Schwenke requested to merge 202_sphinx_pages into master
1 file
+ 0
1
Compare changes
  • Side-by-side
  • Inline
+ 29
7
@@ -83,6 +83,12 @@ variables:
- "python manage.py migrate --settings=one_api.settings_prod"
- "python manage.py test --no-input --settings=one_api.settings_prod"
.sphinx-doc-script: &sphinx-doc-script
- pip install -U sphinx
- cd /app/docs
- sphinx-apidoc -o /app/docs /app
- sphinx-build -b html . public
###### IMAGE BUILDING STAGE ######
.build-image-stage:
@@ -221,6 +227,14 @@ test-container-prod:
extends: .test-stage-prod
<<: *test_container
test-sphinx-doc:
stage: test
variables:
GIT_STRATEGY: clone
script:
- *sphinx-doc-script
<<: *dev-branch
# https://aquasecurity.github.io/trivy/v0.18.1/integrations/gitlab-ci/
trivy:
#extends: .remote_docker
@@ -247,6 +261,19 @@ trivy:
<<: *prod-branch
<<: *docker_image
###### GENERATE DOCUMENTATION PAGES ######
pages:
stage: deploy
script:
- *sphinx-doc-script
artifacts:
paths:
- public
<<: *prod-branch
###### DEPLOYMENT ######
# deploy the artifacts from "build-production" job, only used for protected branches, see above
deploy-production:
stage: deploy
@@ -258,15 +285,12 @@ deploy-production:
CELERY_CONTAINER_NAME: "celery"
CELERY_BEAT_CONTAINER_NAME: "beat"
CELERY_DASHBOARD_NAME: "celery-dashboard"
SPHINX_NAME: "docs"
NETWORK_NAME: "restapi"
SHARED_VOLUME: "restapi_data:/var/lib/oneup/"
DOTENV_VOLUME: "/srv/restapi/.env:/app/.env"
CELERY_START_CMD: "celery -A one_api worker -l INFO"
CELERY_BEAT_CMD: "celery -A one_api beat -l WARNING --scheduler django_celery_beat.schedulers:DatabaseScheduler"
CELERY_DASHBOARD_CMD: "celery -A one_api flower --conf=flowerconfig.py"
SPHINX_START_CMD: "sphinx-autobuild -b html --host 0.0.0.0 --port 8100 . _build/html"
SPHINX_WORKDIR: "/app/docs"
before_script:
- *docker_registry_login
script:
@@ -281,8 +305,8 @@ deploy-production:
- "echo DB_PASSWORD=$DB_PASSWORD_PROD >> .env"
- "echo SECRET_KEY=$SECRET_KEY >> .env"
- docker pull "${APPIMAGE}"
- docker stop $APP_CONTAINER_NAME $CELERY_CONTAINER_NAME $CELERY_BEAT_CONTAINER_NAME $CELERY_DASHBOARD_NAME $SPHINX_NAME || true
- docker rm --force $APP_CONTAINER_NAME $CELERY_CONTAINER_NAME $CELERY_BEAT_CONTAINER_NAME $CELERY_DASHBOARD_NAME $SPHINX_NAME || true
- docker stop $APP_CONTAINER_NAME $CELERY_CONTAINER_NAME $CELERY_BEAT_CONTAINER_NAME $CELERY_DASHBOARD_NAME || true
- docker rm --force $APP_CONTAINER_NAME $CELERY_CONTAINER_NAME $CELERY_BEAT_CONTAINER_NAME $CELERY_DASHBOARD_NAME || true
# start application container
- docker run -d -p 127.0.0.1:2184:8000 --name=$APP_CONTAINER_NAME --network=$NETWORK_NAME --restart=always -v "${SHARED_VOLUME}" -v "${DOTENV_VOLUME}" "${APPIMAGE}"
# start celery container
@@ -291,8 +315,6 @@ deploy-production:
- docker run -d --name=$CELERY_BEAT_CONTAINER_NAME --network=$NETWORK_NAME --restart=always -v "${SHARED_VOLUME}" -v "${DOTENV_VOLUME}" "${APPIMAGE}" ${CELERY_BEAT_CMD}
# start celery-dashboard container
- docker run -d -p 127.0.0.1:2185:5555 --name=$CELERY_DASHBOARD_NAME --network=$NETWORK_NAME --restart=always -v "${SHARED_VOLUME}" -v "${DOTENV_VOLUME}" "${APPIMAGE}" ${CELERY_DASHBOARD_CMD}
# start sphinx documentation container
- docker run -d -p 127.0.0.1:2186:8100 --name=$SPHINX_NAME --network=$NETWORK_NAME --restart=always -w "${SPHINX_WORKDIR}" -v "${DOTENV_VOLUME}" "${APPIMAGE}" ${SPHINX_START_CMD}
# uncomment to only deploy manually and not on every push
#when: manual
#allow_failure: false
Loading