k3s/docs/release/expanded/build_container.md

1.0 KiB

Generate Build Container

  1. set env variable PATH_TO_KUBERNETES_REPO to the path to your local kubernetes/kubernetes copy:
    export GHUSER="mtrachier"
    export PATH_TO_KUBERNETES_REPO="/Users/$GHUSER/go/src/github.com/kubernetes/kubernetes"
    
  2. set env variable GOVERSION to the expected version of go for the kubernetes/kubernetes version checked out:
    export GOVERSION=$(yq -e '.dependencies[] | select(.name == "golang: upstream version").version' $PATH_TO_KUBERNETES_REPO/build/dependencies.yaml)
    
  3. set env variable GOIMAGE to the expected container image to base our custom build image on:
    export GOIMAGE="golang:${GOVERSION}-alpine"
    
  4. set env variable BUILD_CONTAINER to the contents of a dockerfile for the build container:
    export BUILD_CONTAINER="FROM ${GOIMAGE}\nRUN apk add --no-cache bash gnupg git make tar gzip curl git coreutils rsync alpine-sdk"
    
  5. use Docker to create the build container:
    echo -e $BUILD_CONTAINER | docker build -t ${GOIMAGE}-dev -