GithubHelp home page GithubHelp logo

balanced / bob Goto Github PK

View Code? Open in Web Editor NEW
5.0 8.0 4.0 518 KB

Bob the Builder - package your software into a deb/rpm/tar, publishes to a repository, and notifies you all by using a simple yaml file

Home Page: https://balancedpayments.com/

Python 99.72% Shell 0.28%

bob's Introduction

#BOB the buildah

Build Status Alt text

Builds debian packages via fpm and pip.

Usage

To build an ubuntu debian from [email protected]://balanced/balanced.git for tag 1.8.1 run

bob build ubuntu balanced balanced 1.8.1

TODO:

  • wrap in an http api and accept hooks from github and travis

Configure a project

Bob uses a YAML file (build.yml) inside the project it's building. Here's how it should look:

---
# which version of the settings to use.
version: 1
description: my sexy project
targets:
  # ubuntu is currently the only target
  ubuntu:
    # do not package anything that matches these globs
    exclude:
      - "*.pyc"
      - ".git*"
    # required to build this project
    build_dependencies:
      - libpq-dev
      - python-dev
      - libxml2-dev
      - libxslt1-dev
    # required to install this package
    dependencies:
      - libxml2
      - libxslt1.1
      - libpq5
      - ipython
    # any executable scripts relative to the root of this project that will be
    # executed upon package action
    before_install:
    after_install:
      - scripts/after-install.sh
    before_remove:
      - scripts/before-remove.sh
    after_remove:
    # what to do with the finished product (s3 and depot are the only actions
    # right now)
    destinations:
#      s3:
#        destination: s3://apt.vandelay.io
      depot:
        destination: s3://apt.vandelay.io
        gpg_key: 277E7787
        component: unstable
        codename: lucid
    # when and where to tell the world about builds
    notifications:
      hipchat:
        room_id: dev
        color: purple
        on:
        - success
        - failure

You'll also need to configure travis to call out to bob when it finishes. In .travis.yml:

notifications:
  webhooks:
    urls:
      - https://builder.vandelay.io/hooks/travis
    on_success: always
    on_failure: never
    on_start: false

Hacking on it

Run via uwsgi

bobd -u uwsgi.ini -- --env=BOB_CONF=xxx.ini

Manually kicking off a build

curl https://builder.vandelay.io/hooks/travis --data-binary  '{"branch": "1.4.14", "commit": "1.4.14", "repository": {"name": "digi", "owner_name": "balanced"}, "result_message": "Passed"}

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.