Giter Club home page Giter Club logo

buildstep's Introduction

Buildstep wercker status

Heroku-style application builds using Docker and Buildpacks. Used by Dokku to make a mini-Heroku.

Requirements

  • Docker
  • Git

Supported Buildpacks

Buildpacks should generally just work, but many of them make assumptions about their environment. So Buildstep has a list of officially supported buildpacks that are built-in and ready to be used.

Building Buildstep

The buildstep script uses a buildstep base image that needs to be built. It must be created before you can use the buildstep script. To create it, run:

$ make build

This will create an image called progrium/buildstep that contains all supported buildpacks and the builder script that will actually perform the build using the buildpacks.

Building an App

Running the buildstep script will take an application tar via STDIN and the destination image name as an argument. The tarball is deployed inside a new container based on progrium/buildstep, and the builder script is run in the container. The container is then committed to create an image with the specified name.

$ cat myapp.tar | ./buildstep myapp

If you didn't already have an application tar, you can create one on the fly.

$ tar cC /path/to/your/app . | ./buildstep myapp

The resulting image contains your built app, ready to go. The builder script also parses the Procfile and produces a starter script that takes a process type. Run your app with:

$ docker run -d myapp /bin/bash -c "/start web"

Custom Buildpacks

Custom buildpacks can be installed by committing a file in the root of your git repository named .env This file should contain a line export BUILDPACK_URL=<repository> specifying the git repository providing the buildpack.

If your buildpack needs extra packages these can be installed by the buildpack using bin/compile.

License

MIT

buildstep's People

Contributors

progrium avatar mjonuschat avatar asm89 avatar fcoury avatar josegonzalez avatar kloadut avatar nolman avatar alanjds avatar amaltson avatar marqu3z avatar lukec avatar grigio avatar rnorth avatar mike-park avatar valerianpereira avatar s4wny avatar qrohlf avatar plietar avatar pahaz avatar icco avatar mmerickel avatar michaelshobbs avatar leemhenson avatar jcromartie avatar joejwright avatar j15e avatar jbrooksuk avatar ericreid avatar elia avatar chh avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.