This repo contains a collection of different GotLab CI/CD Components and snippets to be included in the script section of a job.
Currently sported components are:
- Code Quality: pre-commit
- Build: Helm package
- Security: Trivy container scan
- Container Build: Kaniko
- Container Build: Buildah
- Deployment: Helm install/upgrade
Currently sported snippets are:
- debian-core-tools
- alpine-core-tools
- openssl-install
- terraform-install
- git-install
- tflint-install
- kubectl-install
- helm-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-medium-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-medium-arm64]
extends: .my-kaniko-build
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.
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