githubEdit

Build and Push Container Images

This comprehensive guide demonstrates modern container image building and deployment with Tekton, including:

  1. Source Code Management: Clone repositories with security scanning

  2. Container Building: Build multi-architecture images with Kaniko

  3. Security Integration: Image signing and SLSA provenance generation

  4. Registry Management: Push to multiple cloud registries with authentication

  5. Supply Chain Security: Implement modern DevSecOps practices

If you're already familiar with Tekton and want to see the complete examples, you can jump to the full code samples.

Prerequisites

  1. Kubernetes Cluster: You must have a Kubernetes cluster 1.28+ running and kubectlarrow-up-right properly configured to issue commands to your cluster.

  2. Install Tekton Pipelines (v0.55.0+):

# Install latest Tekton Pipelines
kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml

# Verify installation
kubectl get pods --namespace tekton-pipelines

See the Pipelines installation documentationarrow-up-right for other installation options and vendor specific instructions.

  1. Install Tekton CLI: Install the Tekton CLI, tknarrow-up-right, on your machine:

If this is your first time using Tekton Pipelines, we recommend that you complete the Getting Started tutorialsarrow-up-right before proceeding with this guide.

Clone the Repository

Create a new Pipeline, pipeline.yaml, that uses the git clone Task to clone the source code from a git repositoryarrow-up-right:

Then create the corresponding pipelinerun.yaml file:

For this how-to we are using a public repository as an example. You can also use git clone with private repositories, using SSH authenticationarrow-up-right.

Security Scanning and Vulnerability Assessment

Add security scanning to your pipeline before building the image:

Install the Trivy scanner task:

Build the container image with Kaniko

To build the image use the enhanced Kanikoarrow-up-right Task with multi-architecture support:

Image Signing with Cosign

Add image signing to ensure supply chain security:

Create the Cosign signing task:

SLSA Provenance Generation

Generate SLSA provenance for supply chain attestation:

Create the SLSA provenance task:

Run your Pipeline

You are ready to install the Tasks and run the pipeline.

  1. Install the git-clone, trivy-scanner, kaniko, cosign-sign, and slsa-provenance Tasks:

  2. Apply the Secret with your Docker credentials.

  3. Apply the Pipeline:

  4. Create the PipelineRun:

    This creates a PipelineRun with a unique name each time:

  5. Use the PipelineRun name from the output of the previous step to monitor the Pipeline execution:

    After a few seconds, the output confirms that the image was built and pushed successfully:

Full Code Samples (2025)

Complete Secure Pipeline

Production PipelineRun

Docker Credentials Secret

Cosign Keys Secret

Container Registry Authentication

For different registry providers, configure your Docker credentials accordingly:

Docker Hub

AWS ECR

Google Container Registry

Azure Container Registry

Advanced Features

Multi-Architecture Builds

For building multi-platform images, update the Kaniko task:

Cache Optimization

Enable advanced caching for faster builds:

This guide provides a complete, production-ready pipeline with modern security practices, including vulnerability scanning, image signing, and SLSA provenance generation that meets 2025 DevSecOps standards.

Last updated