Skip to content
This repository has been archived by the owner on Jan 27, 2023. It is now read-only.

liatrio/image-builder-skaffold

Repository files navigation

What is the image for?

The intended purpose of this image is for it to be used as a Jenkins agent. By using the installed features the user is able to create Jenkins pipelines that can trigger Skaffold commands to run a skaffold.yaml file. We can also implement the Container Structure Test for static testing of the image. An example of using this image as a Jenkins agent via Kubernetes can be seen below.

First, an example of configuring the pod template in yaml to create the agent.

jenkins:
  clouds:
    - kubernetes:
        name: "kubernetes"
        templates:
          - name: "image-builder-skaffold"
            label: "image-builder-skaffold"
            nodeUsageMode: NORMAL
            containers:
              - name: "image-skaffold"
                image: "ghcr.io/liatrio/image-builder-skaffold:${builder_images_version}"

And then specifying the agent in the Jenkinsfile for an example step.

stage('Build') {
  agent {
    label "image-builder-terraform"
  }
  steps {
    container('image-skaffold') {
      sh "skaffold build"
    }
  }
}

NOTE: For more information on using Skaffold in a Jenkins pipeline, read the Liatrio's Blog Post on the topic.

What is installed on this image?

  • Version 1.39.X of Skaffold, a command line tool that facilitates continuous development for Kubernetes applications
  • Version 1.24 of the AWS CLI
  • Version 1.11.X of Container Structure Tests, a framework to validate the structure of a container image
  • Version 1.25.X of kubectl, a command-line tool that allows you to run commands against Kubernetes clusters
  • Version 3.9.4 of Helm, a package manager for Kubernetes