Skip to content
This repository has been archived by the owner on Apr 14, 2020. It is now read-only.

dmathieu/bobette

Repository files navigation

Bobette CircleCI

Bobette, as in Bob the Builder's wife is a kubernetes-aware service used to perform build actions inside a pod.

I need to build docker images to run on my Raspberry PI kubernetes cluster. Unfortunately, the PI is the only ARM machine I have around and I don't want to have to ssh into it every time I need to build a new image.
To solve this, bobette will run a pod, executing any commands configured for a repository.

Installation

You should first install and setup Go on your machine.

go get -u github.com/dmathieu/bobette

You should then have a bobette binary available in your PATH

Configuration

In order to configure a repository to use bobette, create a bobette.yml file in the repository's root folder.

repository: https://github.com/kubernetes/kubernetes
commands:
  - docker build -t kubernetes .
  - docker push kubernetes

Push and pull that code to your repository's master branch, and run the bobette binary while you're at the root folder of your repository.
Doing so will start a new pod that will:

  • Pull your repository
  • Run the commands specified

And that's all!

Private repositories

You can specify authentication for your GIT repository. All you need for that is a user:password combination with access to your repository.
Set the authentication like this:

bobette env set repo_auth=<username:password>

See the Config Vars section below for more details on this.

Config Vars

You can set any config vars you wish (for example, to log into the docker registry):

bobette env set docker_login=<something> foo=bar hello=world

Doing this will set a single secret for your repository containing 3 values.
All those values will be available as environment variables on your app.