Ce repo vise à centraliser la gestion des gitlab-ci utilisées à Skale-5 (celles qui ne sont pas générées par le CICD generator) Cela correspond par exemple aux CI utilisées en internes dans les repos cookiecutter mais aussi aux CI custom utilisées chez les clients.
Le dossier templates/base
contient tous des templates unitaires utilisés par le dossier templates/worflows
.
En principe c'est les templates du dossier workflows que vous devriez utiliser.
include:
- project: 'skale-5/gitlab-ci'
ref: main # branch or tag to use
file: '/templates/workflows/.gitlab-ci.terraform.yml'
stages:
- lint # stages to include
include:
- project: 'skale-5/gitlab-ci'
ref: main # branch or tag to use
file: '/templates/base/.gitlab-ci.tffmt.yml'
Pour utiliser les workflows à l'extérieur de git.sk5.io, on peut se servir de la source publique :
include:
- remote: https://raw.githubusercontent.com/skale-5/gitlab-ci/main/templates/workflows/.gitlab-ci.common.yml
Il faut créer le fichier .releaserc
dans le repo dans lequel on veut utiliser semantic-release
{
"tagFormat": "v${version}",
"repositoryUrl": "https://git.sk5.io/XXXXXXXXXXXXXXXXXXXXXXXX",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
["@semantic-release/git", {
"assets": ["CHANGELOG.md"],
"message": "chore(release): ${nextRelease.version}\n\n${nextRelease.notes}[skip ci]"
}],
"@semantic-release/gitlab"
],
"branches": ["main","master"]
}
Un changelog est automatiquement généré
Si aucun fichier de configuration n'est fournit, alors le pipeline en créé un par default.
security-checks:
- vuln
- config
- secret
vulnerability:
type:
- os
- library
ignore-unfixed: false
exit-code: 0
severity:
- UNKNOWN
- LOW
- MEDIUM
- HIGH
- CRITICAL
exit-code: 1
severity:
- CRITICAL