k3s/docs/release/expanded/build_container.md

24 lines
1.0 KiB
Markdown

# 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 -
```