Hadolint GitLab CI Component¶
A GitLab CI component for hadolint - a Dockerfile linter written in Haskell that helps you build best practice Docker images.
Features¶
- Dockerfile Linting: Validates Dockerfile syntax and best practices
- Multi-file Support: Scan Dockerfile, Podmanfile, and Containerfile formats
- Custom Configuration: Support for local and remote configuration files
- Flexible Arguments: Pass additional flags directly to hadolint
- Configurable Job Settings: Customise job name, stage, and container image
Usage¶
Basic Usage¶
With Custom Configuration¶
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/hadolint/main@latest
inputs:
HADOLINT_CONFIG: ".hadolint.yaml"
HADOLINT_EXTRA_ARGS: "--ignore DL3008"
HADOLINT_FILE_PATTERNS: "Dockerfile Podmanfile Containerfile"
With Remote Configuration¶
include:
- component: $CI_SERVER_FQDN/niclas-zone/ci/hadolint/main@latest
inputs:
HADOLINT_REMOTE_CONFIG: "https://gitlab.com/niclas-zone/ci/hadolint/-/raw/main/config/hadolint.yaml"
HADOLINT_FILE_PATTERNS: "Dockerfile Podmanfile Containerfile"
Inputs¶
| Input | Description | Default |
|---|---|---|
job_name |
Name of the CI job | "hadolint" |
stage |
Pipeline stage | "lint" |
image |
Docker image for hadolint | "registry.gitlab.com/niclas-zone/ctr/hadolint:v2.13.1" |
allow_failure |
Allow job to fail without blocking pipeline | false |
HADOLINT_EXTRA_ARGS |
Extra arguments for hadolint | "" |
HADOLINT_CONFIG |
Path to local hadolint config file | "" |
HADOLINT_REMOTE_CONFIG |
URL to download hadolint config file | "" |
HADOLINT_FILE_PATTERNS |
Space-separated list of filenames to lint | "Dockerfile Podmanfile Containerfile" |