Giter Club home page Giter Club logo

ubuild's Introduction

ubuild

ubuild is our release tool. It allows you to:

Generate a release
Compile programs
Build containers
Push those containers to a remote registry

Everything in one command.

Install

go get github.com/upfluence/ubuild

Prerequisite

Before running ubuild you must export a GITHUB_TOKEN and set RELEASE to true into your environment and be logged in into a docker hub account with access to upfluence image registry.

Configuration

type: <lang> go, rb, py, frontend
verbose: <true/false>
repository: <github_path>
# needed only for compiled language
compiler:
  binaries:
    - path: <path_to_entrypp>
  dist:
  CGO: 
  args: # map of arguments to pass to the compiler
    key: val
    ... 
docker:
  dockerfile: <path_to_dockerfile> # Dockerfile by default
  image: <image_name>
  tags: # additional tags
    key: val
    ...
deployer:
  url:
  envs:
    key: val
    ...

For example this configuration will build an image based on a python package, update the release of upfluence/ner_analyser and update to the docker image named "ner-analyser".

type: py
verbose: true
repository: <org>/<repository>
docker:
  image: "<image_name>"

Circle CI

To use ubuild with circle-ci you must use the golang primary image have run go get in a step of you job. The sensitive environment variable should be fetched from the project settings.

Example: - run: docker images

publish:
  docker:
    - image: circleci/golang:1.13

  environment:
    RELEASE: true

  steps:
    - checkout

    - setup_remote_docker
    - run:
        command: |
          docker login -u $DOCKER_USER -p $DOCKER_PASS

    - run: go get github.com/upfluence/ubuild/cmd/ubuild

    - run:
        name: Building server image
        command: ubuild

ubuild's People

Contributors

alexismontagne avatar sypheos avatar tgallice 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.