GitLab CI/CD Components
This repo contains a collection of different GitLab CI/CD Components and snippets to be included in the script section of a job.
Currently supported components are:
- Code Quality: pre-commit
- Build: Helm package
- Container Build: Kaniko
- Container Build: Buildah
- Container Build: Merge-Manifests
- Security: Trivy container scan
- Security: Cosign container sign
- Deployment: Helm install/upgrade
Currently supported snippets are:
- debian-core-tools
- alpine-core-tools
- openssl-install
- opentofu-install
- jq-install
- terraform-install
- git-install
- tflint-install
- kubectl-install
- cosign-install
- talosctl-install
- skopeo-install
- az-copy-install
- minikube-install
- packer-install
- vault-install
- argocd-cli-install
- helm-install
- helm-docs-install
- kubeseal-install
- kubeconform-install
- kind-install
- tailscale-install
- minio-mc-install
- yq-by-mike-farah-install
- azure-cli-install
- aws-cli-install
NOTE: All components and snippets are arm64
ready. Gitlab now offers hosted ARM runners. You can use these when setting:
default:
tags: [saas-linux-small-arm64]
# or by including as a template and setting it by extending the job
include:
- component: gitlab.com/hegerdes/gitlab-actions/kaniko-build@<VERSION>
inputs:
as_job: .my-kaniko-build
my-kaniko-build:
tags: [saas-linux-small-arm64]
extends: .my-kaniko-build
Releases
All releases follow the semantic versioning schema. So only major version bumps should include breaking changes. The main
branch is NOT stable and may have broken components. Use a fixed tag or fork this repo if you dan't want your CI to break unexpectedly.
Releases are generated with CI and contain all mentionable changes.
Contribute
Feel free to open a issue or a PR. Any new CI tasks must have tests for them and must run on amd64 and arm64. Please read about CI/CD components and best practices at: https://docs.gitlab.com/ee/ci/components