Skip to content
Snippets Groups Projects
Daniel Dehennin's avatar
Daniel Dehennin authored
USAGE
=====

include:
  - project: EOLE/Infra/ci-tools
    ref: master
    file: /templates/Helm.yaml

stages:
  - lint

helm lint: {extends: '.helm:lint'}

REQUIREMENTS
============

- a `lint` stage must be present in your pipeline or it must be
  overriden by the extending job to feet your need.

- the `.not-on-stable` rules templates or it must be overriden by
  the extending job to feet your need

OPTIONAL VARIABLES
==================

- `CHART_DIR`: directory of the helm chart, default to `.`

- `HELM_IMAGE`: name of the `helm` docker image to use

- `HELM_ARGS`: optional arguments to pass to `helm lint` command,
  empty by default
7e1ccbd3
History

Tools for the Gitlab CI

This project provides several YAML files to be included in your project .gitlab-ci.yml file.

Features

The CI tools:

graph LR
    %% User working branch
    Branch([CONTRIB BRANCH])
    BranchCI{{CI}}
    BranchCommitLint(commitlint)
    BranchDockerImage((image))
    BranchDockerTag>docker:git-$CI_COMMIT_SHORT_SHA]

    %% Project `dev` branch
    Dev([DEV])
    DevCI{{CI}}
    DevCommitLint(commitlint)
    DevDockerImage((image))
    DevDockerTag>docker:dev]

    %% Project `testing` branch for prerelease
    Testing([TESTING])
    TestingCI{{CI}}
    TestingCommitLint(commitlint)
    TestingDockerImage((image))
    TestingDockerTag>docker:testing]

    %% Project `stable` branch
    Stable([STABLE])
    StableCI{{CI}}

    %% Project `release` tag
    Release>release/x.y.z]
    ReleaseCI{{CI}}

    ReleaseDockerTag{{docker:x.y.z}}
    MajorDockerTag{{docker:x}}
    MinorDockerTag{{docker:x.y}}
    StableDockerTag{{docker:stable}}
    LatestDockerTag{{docker:latest}}

    Branch          -->|push| BranchCI
    BranchCI        -->|lint| BranchCommitLint
    BranchCI        -->|build| BranchDockerImage
    BranchCI        -->|release| BranchDockerTag
    BranchDockerTag -.- BranchDockerImage
    Branch          -->|merge| Dev

    Dev          -->|push| DevCI
    DevCI        -->|lint| DevCommitLint
    DevCI        -->|build| DevDockerImage
    DevCI        -->|release| DevDockerTag
    DevDockerTag -.- DevDockerImage
    Dev          -->|merge| Testing

    Testing          -->|push| TestingCI
    TestingCI        -->|lint| TestingCommitLint
    TestingCI        -->|build| TestingDockerImage
    TestingCI        -->|release| TestingDockerTag
    TestingDockerTag -.- TestingDockerImage
    Testing          -->|merge| Stable

    Stable      -->|push| StableCI
    StableCI    -->|release| Release

    Release     -->|push| ReleaseCI
    ReleaseCI   -->|release| ReleaseDockerTag
    ReleaseCI   -->|release| MajorDockerTag
    ReleaseCI   -->|release| MinorDockerTag
    ReleaseCI   -->|release| StableDockerTag
    ReleaseCI   -->|release| LatestDockerTag

Use the ci-tools to setup a new CI

There is a dedicated documentation to start using the ci-tools templates in your project.

Contributing to this project

Commit messages

Commit messages formatting is significant!

Please, see How to contribute for more details