123 lines
3.4 KiB
YAML
123 lines
3.4 KiB
YAML
steps:
|
|
generate-dtrack-api:
|
|
image: openapitools/openapi-generator-cli:v7.12.0
|
|
commands:
|
|
- curl https://dtrack-api.hottis.de/api/openapi.json > dependencytrack-openapi.json
|
|
- |
|
|
docker-entrypoint.sh \
|
|
author template \
|
|
-g python \
|
|
-o dependencytrack-openapi-custom-template
|
|
- sed -i 's/import re/import regex as re/' dependencytrack-openapi-custom-template/model_anyof.mustache
|
|
- sed -i 's/import re/import regex as re/' dependencytrack-openapi-custom-template/model_generic.mustache
|
|
- |
|
|
docker-entrypoint.sh \
|
|
generate \
|
|
-i dependencytrack-openapi.json \
|
|
-g python \
|
|
-o dependencytrack-client \
|
|
--package-name dependencytrack_api \
|
|
-t dependencytrack-openapi-custom-template
|
|
when:
|
|
- event: [ push, tag ]
|
|
|
|
generate-defectdojo:
|
|
image: openapitools/openapi-generator-cli:v7.12.0
|
|
commands:
|
|
- curl https://defectdojo.hottis.de/api/v2/oa3/schema/?format=json > defectdojo-openapi.json
|
|
- |
|
|
docker-entrypoint.sh \
|
|
generate \
|
|
-i defectdojo-openapi.json \
|
|
-g python \
|
|
-o defectdojo-client \
|
|
--package-name defectdojo_api \
|
|
when:
|
|
- event: [ push, tag ]
|
|
|
|
build-cli:
|
|
depends_on: [generate-dtrack-api, generate-defectdojo]
|
|
image: plugins/kaniko
|
|
settings:
|
|
repo: ${FORGE_NAME}/${CI_REPO}
|
|
registry:
|
|
from_secret: container_registry
|
|
tags:
|
|
- cli-latest
|
|
- cli-${CI_COMMIT_SHA}
|
|
username:
|
|
from_secret: container_registry_username
|
|
password:
|
|
from_secret: container_registry_password
|
|
dockerfile: Dockerfile-cli
|
|
when:
|
|
- event: [ push ]
|
|
|
|
build-cli-for-quay:
|
|
depends_on: [generate-dtrack-api, generate-defectdojo]
|
|
image: plugins/kaniko
|
|
settings:
|
|
repo: quay.io/wollud1969/${CI_REPO_NAME}-cli
|
|
registry: quay.io
|
|
tags:
|
|
- latest
|
|
- ${CI_COMMIT_TAG}
|
|
username:
|
|
from_secret: quay_username
|
|
password:
|
|
from_secret: quay_password
|
|
dockerfile: Dockerfile-cli
|
|
when:
|
|
- event: [tag]
|
|
|
|
build-server:
|
|
depends_on: [generate-dtrack-api, generate-defectdojo]
|
|
image: plugins/kaniko
|
|
settings:
|
|
repo: ${FORGE_NAME}/${CI_REPO}
|
|
registry:
|
|
from_secret: container_registry
|
|
tags:
|
|
- server-latest
|
|
- server-${CI_COMMIT_TAG}
|
|
username:
|
|
from_secret: container_registry_username
|
|
password:
|
|
from_secret: container_registry_password
|
|
dockerfile: Dockerfile-server
|
|
when:
|
|
- event: [ tag ]
|
|
|
|
build-server-for-quay:
|
|
depends_on: [generate-dtrack-api, generate-defectdojo]
|
|
image: plugins/kaniko
|
|
settings:
|
|
repo: quay.io/wollud1969/${CI_REPO_NAME}-server
|
|
registry: quay.io
|
|
tags:
|
|
- latest
|
|
- ${CI_COMMIT_TAG}
|
|
username:
|
|
from_secret: quay_username
|
|
password:
|
|
from_secret: quay_password
|
|
dockerfile: Dockerfile-server
|
|
when:
|
|
- event: [tag]
|
|
|
|
|
|
deploy:
|
|
image: portainer/kubectl-shell:latest
|
|
depends_on: [build-server]
|
|
environment:
|
|
KUBE_CONFIG_CONTENT:
|
|
from_secret: kube_config
|
|
commands:
|
|
- export IMAGE_TAG=$CI_COMMIT_TAG
|
|
- printf "$KUBE_CONFIG_CONTENT" > /tmp/kubeconfig
|
|
- export KUBECONFIG=/tmp/kubeconfig
|
|
- ./deployment/deploy.sh
|
|
when:
|
|
- event: [tag]
|
|
|