FAQ | This is a LIVE service | Changelog

Skip to content
Snippets Groups Projects
Rich Wareham's avatar
Dr Rich Wareham authored
The stock `Terraform-Module` template from GitLab defines its own stages
which are _almost_ compatible with Auto DevOps but not quite.

Issue #59 initially proposed re-working `terraform-module.yml` to be
based on the base template but, really, the only thing that needed to be
done was to move the `fmt` job from the `validate` stage to `test`.

(Arguably `fmt` could be replaced by stuff from
`/auto-devops/terraform-pipeline.yml` but that's for another day.)

Instead of copy-pasting the module, simply import the Auto DevOps stages
and move the `fmt` job.

While we're here, and because this is supposed to be "the One Template
To Rule Them All" for terraform modules, also add in a default
`workflow` template *a la* `common-pipeline.yml`.
b47764de
History

CI templates

This repository contains a set of templates intended to be included into CI jobs on GitLab. See the comments at the top of each template for usage information.

There is a "common pipeline" which brings in Auto DevOps and "safe" jobs suitable for a wide array of projects which can be included in your CI configuration. For example:

include:
  - project: 'uis/devops/continuous-delivery/ci-templates'
    file: '/auto-devops/common-pipeline.yml'
    ref: v3.0.0

See the common pipeline definition for more information.

MR pipelines

After a long discussion, we have decided that the default behaviour of the common pipeline is to disable merge request pipelines. This is because the various GitLab template jobs for security scanning, dependency scanning, etc require that they run in a branch pipeline.

For advanced use cases, add configuration to update the workflow rules at the end of the include section of your CI configuration. Note that you will have to override the rules: sections of the various security scanning and test jobs appropriately.

Specific documentation

The following documents describe support for specific languages or repository types: