You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
5.5 KiB
174 lines
5.5 KiB
--- |
|
kind: pipeline |
|
name: notify-pipeline-start |
|
type: kubernetes |
|
|
|
clone: |
|
disable: true |
|
|
|
steps: |
|
- name: slack |
|
image: plugins/slack |
|
settings: |
|
webhook: |
|
from_secret: SLACK_WEBHOOK |
|
link_names: true |
|
template: > |
|
{{#if build.pull }} |
|
*Build started*: {{ repo.owner }}/{{ repo.name }} - <https://git.webhosting.rug.nl/{{ repo.owner }}/{{ repo.name }}/pull/{{ build.pull }}|Pull Request #{{ build.pull }}> |
|
{{else}} |
|
*Build started: {{ repo.owner }}/{{ repo.name }} - Build #{{ build.number }}* (type: `{{ build.event }}`) |
|
{{/if}} |
|
Commit: <https://git.webhosting.rug.nl/{{ repo.owner }}/{{ repo.name }}/commit/{{ build.commit }}|{{ truncate build.commit 8 }}> |
|
Branch: <https://git.webhosting.rug.nl/{{ repo.owner }}/{{ repo.name }}/commits/{{ build.branch }}|{{ build.branch }}> |
|
Author: {{ build.author }} |
|
<{{ build.link }}|Visit build page ↗> |
|
|
|
--- |
|
kind: pipeline |
|
name: build-docker-image |
|
type: kubernetes |
|
|
|
steps: |
|
- name: build-docker-image-branch |
|
image: plugins/docker |
|
settings: |
|
cache_from: |
|
- ${DRONE_REPO,,}:${DRONE_SOURCE_BRANCH/\//-} |
|
username: |
|
from_secret: HARBOR_USER |
|
password: |
|
from_secret: HARBOR_PASSWORD |
|
repo: registry.webhosting.rug.nl/${DRONE_REPO,,} |
|
registry: registry.webhosting.rug.nl |
|
dockerfile: docker/Dockerfile.api |
|
# During building the images, we use an internal RUG caching server for getting the raw docker images |
|
# Without this, we will hit a rate limit of Docker. This only works on the RUG Drones building setup |
|
build_args: |
|
- DOCKER_CACHE=registry.webhosting.rug.nl/cache/library/ |
|
- DEBUG=True |
|
tags: |
|
- ${DRONE_SOURCE_BRANCH/\//-} |
|
- ${DRONE_SOURCE_BRANCH/\//-}-${DRONE_COMMIT_SHA:0:8} |
|
when: |
|
event: |
|
exclude: |
|
- tag |
|
|
|
- name: nginx-frontend-proxy |
|
image: plugins/docker |
|
settings: |
|
cache_from: |
|
- ${DRONE_REPO,,}:${DRONE_SOURCE_BRANCH/\//-} |
|
username: |
|
from_secret: HARBOR_USER |
|
password: |
|
from_secret: HARBOR_PASSWORD |
|
repo: registry.webhosting.rug.nl/${DRONE_REPO,,}-ngx |
|
registry: registry.webhosting.rug.nl |
|
dockerfile: docker/Dockerfile.nginx |
|
# During building the images, we use an internal RUG caching server for getting the raw docker images |
|
# Without this, we will hit a rate limit of Docker. This only works on the RUG Drones building setup |
|
build_args: |
|
- DOCKER_CACHE=registry.webhosting.rug.nl/cache/library/ |
|
tags: |
|
- ${DRONE_SOURCE_BRANCH/\//-} |
|
- ${DRONE_SOURCE_BRANCH/\//-}-${DRONE_COMMIT_SHA:0:8} |
|
when: |
|
event: |
|
exclude: |
|
- tag |
|
|
|
- name: scheduler |
|
image: plugins/docker |
|
settings: |
|
cache_from: |
|
- ${DRONE_REPO,,}:${DRONE_SOURCE_BRANCH/\//-} |
|
username: |
|
from_secret: HARBOR_USER |
|
password: |
|
from_secret: HARBOR_PASSWORD |
|
repo: registry.webhosting.rug.nl/${DRONE_REPO,,}-scheduler |
|
registry: registry.webhosting.rug.nl |
|
dockerfile: docker/Dockerfile.scheduler |
|
# During building the images, we use an internal RUG caching server for getting the raw docker images |
|
# Without this, we will hit a rate limit of Docker. This only works on the RUG Drones building setup |
|
build_args: |
|
- DOCKER_CACHE=registry.webhosting.rug.nl/cache/library/ |
|
tags: |
|
- ${DRONE_SOURCE_BRANCH/\//-} |
|
- ${DRONE_SOURCE_BRANCH/\//-}-${DRONE_COMMIT_SHA:0:8} |
|
when: |
|
event: |
|
exclude: |
|
- tag |
|
|
|
--- |
|
kind: pipeline |
|
name: django-tests |
|
type: kubernetes |
|
|
|
# clone: |
|
# disable: true |
|
|
|
trigger: |
|
event: |
|
exclude: |
|
- tag |
|
|
|
steps: |
|
- name: tests |
|
image: registry.webhosting.rug.nl/${DRONE_REPO,,}:${DRONE_SOURCE_BRANCH/\//-}-${DRONE_COMMIT_SHA:0:8} |
|
environment: |
|
# And a 'dummy' secret key for testing |
|
SECRET_KEY: w@b=#(f4uc0l%e!5*eo+aoflnxb(@!l9!=c5w=4b+x$=!8&vy%a |
|
OIDC_RP_CLIENT_ID: dummy |
|
OIDC_RP_CLIENT_SECRET: dummy |
|
OIDC_OP_AUTHORIZATION_ENDPOINT: dummy |
|
OIDC_OP_TOKEN_ENDPOINT: dummy |
|
OIDC_OP_USER_ENDPOINT: dummy |
|
OIDC_OP_JWKS_ENDPOINT: dummy |
|
commands: |
|
- cd VRE |
|
- python manage.py test apps/api |
|
- python manage.py test apps/study |
|
- python manage.py test apps/researcher |
|
|
|
depends_on: |
|
- build-docker-image |
|
|
|
--- |
|
kind: pipeline |
|
name: notify-pipeline-end |
|
type: kubernetes |
|
|
|
clone: |
|
disable: true |
|
|
|
steps: |
|
- name: slack |
|
image: plugins/slack |
|
settings: |
|
webhook: |
|
from_secret: SLACK_WEBHOOK |
|
link_names: true |
|
template: > |
|
{{#if build.pull }} |
|
*{{#success build.status}}✔{{ else }}✘{{/success}} {{ uppercasefirst build.status }}*: {{ repo.owner }}/{{ repo.name }} - <https://git.webhosting.rug.nl/{{ repo.owner }}/{{ repo.name }}/pull/{{ build.pull }}|Pull Request #{{ build.pull }}> |
|
{{else}} |
|
*{{#success build.status}}✔{{ else }}✘{{/success}} {{ uppercasefirst build.status }}: {{ repo.owner }}/{{ repo.name }} - Build #{{ build.number }}* (type: `{{ build.event }}`) |
|
{{/if}} |
|
Commit: <https://git.webhosting.rug.nl/{{ repo.owner }}/{{ repo.name }}/commit/{{ build.commit }}|{{ truncate build.commit 8 }}> |
|
Branch: <https://git.webhosting.rug.nl/{{ repo.owner }}/{{ repo.name }}/commits/{{ build.branch }}|{{ build.branch }}> |
|
Author: {{ build.author }} |
|
Duration: {{ since build.created }} |
|
<{{ build.link }}|Visit build page ↗> |
|
|
|
depends_on: |
|
- build-docker-image |
|
- django-tests |
|
|
|
trigger: |
|
status: |
|
- success |
|
- failure
|
|
|