[You only need to do this if you’re making Fission changes; if you’re just deploying Fission, use fission.yaml which points to prebuilt images.]
You’ll need the
go compiler and tools installed, along with the
glide dependency management
tool. You’ll also need
docker for building images.
The server side is compiled as one binary (“fission-bundle”) which contains controller, poolmgr and router; it invokes the right one based on command-line arguments.
To build fission-bundle: clone this repo to
$GOPATH/src/github.com/fission/fission, then from the top level
directory (if you want to build the image with the docker inside
minikube, you’ll need to set the proper environment variables with
eval $(minikube docker-env)):
# Get dependencies $ glide install # Build fission server and an image $ pushd fission-bundle $ ./build.sh
You now need to build the docker image for fission. You can use
push.sh and push it to a docker hub account. But it’s easiest to use
minikube and its built-in docker daemon:
$ eval $(minikube docker-env) $ docker build -t minikube/fission-bundle .
Next, install fission with this image on your kubernetes cluster using the helm chart:
$ helm install --set "image=minikube/fission-bundle,pullPolicy=IfNotPresent,analytics=false" charts/fission-all
And if you’re changing the CLI too, you can build it with:
# Build Fission CLI $ cd fission && go install