To Be Continuous¶
to be continuous proposes a set of GitLab CI templates developed and maintained by DevOps and technology experts to build state-of-the-art CI/CD pipelines in minutes.
Key features¶
Feature | Description |
---|---|
Easy | No need to master GitLab CI: follow the guide and include the templates you need. |
Modular | Build your project pipeline by assembling every required template. |
Security | Ease the use of security & quality tools (code quality, SAST, dependency check, license management, DAST, ...). |
Git Workflows | Our templates support modern DevOps workflows (Feature Branch, Gitflow, ...). |
Up-To-Date | We carefully follow every GitLab CE release to integrate every new feature to our templates. |
Configurable & Extensible | Comply to the convention over configuration principle. Work with minimal configuration, yet can be configured to fit specific needs. |
Review Environments | Dynamically created environments in your cloud, hosting your development in progress. It is a strict equivalent of GitLab's Review Apps feature. |
Documented | All our templates have an extensive online documentation. |
Examples | We also provide a wide variety of project samples to illustrate their use and best practices. |
Implemented GitLab features¶
Feature | Description |
---|---|
cache | Every template carefully implements optimized cache policy to speedup your pipeline execution. |
artifacts | Every template implements optimized artifacts policy to keep only the bare necessities. |
interruptible | Every interruptible job implements the interruptible feature to allow cancelling the pipeline as soon as a newer one is triggered. |
code coverage | Every build&test job enforces code coverage computing (using the required build tools and options), and integration to GitLab (visible in merge requests and as a badge). |
JUnit test reports | Every test job produces - whenever possible - a JUnit report, so that your test reports are automatically integrated to your pipelines and merge requests. |
code quality | Every code quality job produces - whenever possible - a Code Climate report, so that your code quality reports are automatically integrated to your pipelines and merge requests. |
environments | Every deployment job declares the deployed environment to GitLab. They also implement a cleanup job for ephemeral environments, that can be triggered manually and also automatically on branch deletion. |
resource_group | Every deployment job implements the resource_group feature to prevent concurrent jobs deploying at the same time on the same environment. |
How does it work?¶
Any to be continuous template may be included in your .gitlab-ci.yml
file using one of the 3 techniques:
include:component
to use it as a CI/CD component:include: # <gitlab-host>/to-be-continuous/<project>/<template>@<version> - component: $CI_SERVER_FQDN/to-be-continuous/maven/gitlab-ci-maven@3.9.0
include:project
to use it as a regular template:include: - project: 'to-be-continuous/maven' # this is the template project file: '/templates/gitlab-ci-maven.yml' # template file within the project ref: '3.9.0' # template version
- or
include:remote
:this technique might only be of interest if you want to test _to be continuous from your Self-Managed GitLab without installing it locally_include: - remote: "https://gitlab.com/to-be-continuous/maven/-/raw/3.9.0/templates/gitlab-ci-maven.yml"