Skip to content
Snippets Groups Projects
Daniel Dehennin's avatar
Daniel Dehennin authored
Rename the configuration file to hide it by default.
2ba784d8
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