1

Assuming I have the following skaffold.yaml

apiVersion: skaffold/v2beta12
kind: Config
metadata:
  name: myapp
build:
  local:
    push: true
  artifacts:
  - image: pkaramol/my-image
    docker:
      dockerfile: Dockerfile
deploy:
  helm:
    releases:
      - name: myapp
        chartPath: charts
  kubectl:
    manifests:
       - ./k8s/*

How can I instruct skaffold to avoid uploading (and then downloading) pkaramol/myimage to dockerhub but rather build it locally and using it directly within the cluster I am connected to?

pkaramol
  • 16,451
  • 43
  • 149
  • 324

1 Answers1

2

You can instruct Skaffold to build the image locally by using the local build mode in the build section of the skaffold.yaml file, like this:

apiVersion: skaffold/v2beta12
kind: Config
metadata:
  name: myapp
build:
  local:
    push: false
  artifacts:
  - image: pkaramol/my-image
    docker:
      dockerfile: Dockerfile
deploy:
  helm:
    releases:
      - name: myapp
        chartPath: charts
  kubectl:
    manifests:
       - ./k8s/*

The push parameter should be set to false to prevent Skaffold from uploading the image to a registry. This will tell Skaffold to build the image locally and use it directly in the cluster that you are connected to.

aaron-prindle
  • 3,077
  • 1
  • 17
  • 15