https://github.com/buildbot/buildbot-master-buildpack
https://github.com/buildbot/buildbot-master-buildpack
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/buildbot/buildbot-master-buildpack
- Owner: buildbot
- License: mit
- Created: 2015-04-17T18:12:36.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-11-09T18:14:20.000Z (about 9 years ago)
- Last Synced: 2025-04-06T05:02:13.574Z (9 months ago)
- Language: Shell
- Size: 28.1 MB
- Stars: 9
- Watchers: 9
- Forks: 16
- Open Issues: 2
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
Buildpack: Buildbot-master
========================
This is a buildpack intended to deploy [Buildbot](http://buildbot.net)'s master application on
[Heroku](https://heroku.com) or VPS equiped with [Dokku](https://github.com/progrium/dokku).
This buildpack is modified from Heroku's [Python buildpack](https://github.com/heroku/heroku-buildpack-python) and
[NodeJS buildpack](https://github.com/heroku/heroku-buildpack-python). It will install the latest version of Buildbot
from its Github repo instead of the stable version on PyPI.
Usage
-----
The only thing you should provide is an empty git repo with a `.env` file.
$ cat .env
export BB_REPO='https://github.com/buildbot/buildbot'
export BB_CHECKOUT='master'
export BB_WWW_PLUGINS='base,waterfall_view'
export BUILDPACK_URL='https://github.com/buildbot/buildbot-master-buildpack.git'
You can assign different repo, branch or frondend app to install by changing `BB_REPO`,
`BB_CHECKOUT` and `BB_WWW_PLUGINS`, which are optional parameters. `BB_CHECKOUT` can be branch name or tag name
and `BB_WWW_PLUGINS` can be one or several plugins joined by a `,` with no extra spaces.
The `BUILDPACK_URL` variable is required for deploying with Dokku, it should point to this build pack.
For deploying with heroku, as heroku forbid empty repo when `git push`, we have to touch a file and commit it.
If you are using your own `master.cfg`, this place holder file is now needed.
$ touch BUILDBOT
$ git add .
$ git commit -m'add a placeholder file'
Then we push it up to heroku.
$ heroku create --buildpack git://github.com/shanzi/buildbot-master-buildpack.git
$ git push heroku master
...
-----> Building buildbot from buildstep...
-----> Fetching custom buildpack
-----> app detected
-----> Installing NodeJS and NPM
-----> Resolving node version (latest stable) via semver.io...
-----> Downloading and installing node 0.12.2...
-----> Using default npm version: 2.7.4
-----> Installing buildbot dependencies
-----> Procfile declares types -> web
Deploying with Dokku is a little easier. No placeholder file is needed at all and we just push it up:
$ git remote add dokku dokku@:buildbot
$ git push dokku master
You can override the default `master.cfg` by putting one in the root folder of repo.
$ ls
master.cfg
Specify a Runtime
-----------------
You can also provide other releases of Python with a `runtime.txt` file.
$ cat runtime.txt
python-2.6.9
As buildbot's master only supports to run on Python 2.6.x to 2.7.x,
so runtime for Python 3 is not supported by this buildpack.