Continuous Integration

How to run minikube in CI (Continuous Integration)

Overview

Most continuous integration environments are already running inside a VM, and may not support nested virtualization. You could use either none or docker driver in CI.

To see a working example of running minikube in CI checkout minikube-ci/examples that contains working examples.

Supported / Tested CI Platforms

For any platform not yet listed we are looking for your help! Please file Pull Requests and / or Issues for missing CI platforms 😄

PlatformKnown to Work?Status
ProwYes ✔️Prow
Google Cloud BuildYes ✔️cloud build status
GithubYes ✔️Github
Azure PipelinesYes ✔️Azure Pipelines
Travis CIYes ✔️Travis CI
CircleCIYes ✔️CircleCI
GitlabYes ✔️Gitlab

Example

Here is an example, that runs minikube from a non-root user, and ensures that the latest stable kubectl is installed:

  1. curl -LO \
  2. https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
  3. && install minikube-linux-amd64 /tmp/
  4. kv=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
  5. curl -LO \
  6. https://storage.googleapis.com/kubernetes-release/release/$kv/bin/linux/amd64/kubectl \
  7. && install kubectl /tmp/
  8. /tmp/minikube-linux-amd64 config set WantUpdateNotification false
  9. /tmp/minikube-linux-amd64 start --driver=docker

Last modified December 15, 2021: fix binary path in doc (dce1612c3)