GitLab
Met GitLab kunnen API's gegenereerd worden in de pipeline. Dit kan door de gitlab-ci.yml aan te passen, zodat aan de hand van hoe de pipeline wordt gestart verschillende jobs gedraaid kunnen worden.
gitlab-ci.yml
Dit kan door een workflow toe te voegen:
workflow:
name: "$PIPELINE_NAME"
rules:
- if: '$CI_PIPELINE_SOURCE == "trigger" || ($CI_PIPELINE_SOURCE == "web" && $PIPELINE_TYPE == "api")'
variables:
PIPELINE_NAME: "OpenApi Build Pipeline"
- if: '$CI_PIPELINE_SOURCE == "push" || ($CI_PIPELINE_SOURCE == "web" && $PIPELINE_TYPE != "api")'
variables:
PIPELINE_NAME: "$CI_COMMIT_TITLE"
daarnaast voeg je in de includes lijst toe:
- project: "iprox/docker/config"
rules:
- if: '$CI_PIPELINE_SOURCE == "trigger" || ($CI_PIPELINE_SOURCE == "web" && $PIPELINE_TYPE == "api")'
ref: "main"
file: "/Jobs/Build/shared-build-api.yml"
Aan de andere includes die niet nodig zijn voor het genereren van de api, maar wel voor de normale build kan de volgende rule aan worden toegevoegd:
- if: '$CI_PIPELINE_SOURCE == "push" || ($CI_PIPELINE_SOURCE == "web" && $PIPELINE_TYPE != "api")'
De volgende variable wordt toegevoegd aan de variables:
IproxOpenApiGenerator_Version: "[versie]" deze staat gelijk aan de iprox versie in project.xml
Settings
In de CI/CD settings worden de volgende variables toegevoegd:
| Naam | Omschrijving | Voorbeeld |
|---|---|---|
| OpenApi_Authentication | Het type authenticatie | Anonymous |
| OpenApi_CmsUrl | De URL naar de CMS omgeving | https://app-naam-omgeving-cms.azurewebsites.net/ |
| OpenApi_DocumentationDescription | Een omschrijving van de omgeving | REST API voor [naam omgeving] |
| OpenApi_DocumentationTitle | De titel voor de API documentatie | [naam omgeving] API |
| OpenApi_DocumentationVersion | De versie van de omgeving | 1.0.0 |
| OpenApi_EnvSyn | De Synchronisatie identificatie van de omgeving voor synchronisatie met IPROX | api of [naam]_api |
| OpenApi_IsDevelopment | Wordt de api gegenereerd voor ontwikkeling | false |
| OpenApi_Preview | Worden preview endpoints vrijgegeven | false |
Authenticatie
Voor authenticatie worden de volgende waarden ondersteund:
- Anonymous
- Bearer
Eerste keer pipeline draaien
Als bovenstaande punten zijn gedaan is de pipeline klaar om te draaien. De eerste keer moet de pipeline handmatig gestart worden.
Dit doe je door op de pipeline pagina op de knop "New pipeline" te drukken en de volgende variabele: mee te geven
- key:
PIPELINE_TYPE - value:
api