Skip to content
main
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

YourBase

YourBase Community Slack

yb build all-the-things!

YourBase is a build tool that makes working on projects much more delightful. Stop worrying about dependencies, keep your CI build process in-sync with your local development process and onboard new team members with ease.

The primary features of the YB tooling are:

  • Consistent local and CI tooling How a project is built as part of the CI/CD process should not be any different than how it is built on a developer's machine. Keeping tooling in-sync means predictable results and a better developer experience for everyone. (Although local builds are not fully isolated yet)

  • Accelerated on-boarding Many projects have long sets of instructions that are required for a developer to get started. With YB, the experience is as simple as getting source code and running yb build - batteries included!

  • Programmatic dependency management No need to have developers manually install and manage different versions of Go, Node, Java, etc. By describing these tools in codified build-packs, these can be installed and configured automatically on a per-project basis. Manage containers and other runtime dependencies programmatically and in a consistent manner.

  • Remote builds Run your work and tests in the cloud just like you would locally or as part of CI! Stream the results back to your machine in real-time to offload the work.

magic!

Installation

yb uses Docker for isolating the build environment. You can install Docker here: https://hub.docker.com/search/?type=edition&offering=community

If you're using WSL on Windows, you will need to use Docker in WSL2.

macOS

You can install yb using Homebrew:

brew install yourbase/yourbase/yb

or you can download a binary from the latest GitHub release and place it in your PATH.

Linux (and WSL2)

On Debian-based distributions (including Ubuntu), you can use our APT repository:

# Import the signing key
sudo curl -fsSLo /etc/apt/trusted.gpg.d/yourbase.asc https://apt.yourbase.io/signing-key.asc

# Add the YourBase APT repository to the list of sources
echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/yourbase.asc] https://apt.yourbase.io stable main" | sudo tee /etc/apt/sources.list.d/yourbase.list

# Update the package list and install yb
sudo apt-get update && sudo apt-get install yb

For Red Hat, Fedora, or CentOS, you can install the RPM from the latest GitHub release. For other distributions, copy the Linux binary from the release into your PATH.

Getting Started

To use yb you need a .yourbase.yml file in your repository with enough information to build your project:

dependencies:
   build:
     - python:3.7

build_targets:
   - name: default
     commands:
       - pip install -r requirements.txt
       - python tests/run_tests.py 

ci:
  builds:
    - name: tests
      build_target: default

The YourBase configuration was designed from the ground up to be a fast, composable and easy to use method to declare build targets. Targets defined in the configuration are built in an isolated and uniform container, so local builds are similar to remote builds.

The YourBase YAML replaces both legacy CI configs and container build configuration formats like Dockerfile. It uses containers underneath and you can still run things on the side like MySQL, Postgres, Redis or any service from a container image.

For more examples and a complete reference to the YAML configuration syntax, see https://docs.yourbase.io/configuration/yourbase_yaml.html

Run your first local build

If you created a default target, you can build it with:

yb build

Or if you have a different build_target, try:

yb build <target name>

Run the first remote build

To use remote builds, first you have to sign-in to YourBase.io. Run this to get a sign-in URL:

yb login

Then try to run a remote build. To build the default target, just do:

yb remotebuild

or if you have a different target in your config:

yb remotebuild <target>

You can watch the build/test stream both locally and in the build dashboard at https://app.yourbase.io

Triggering Builds from GitHub pushes

You can also build code after every push to a GitHub repository. Install the GitHub application, then push a change to your repository. After you do, you should see a new build in the YourBase dashboard.

By default, the YourBase Accelerated CI runs all build targets whenever there is a GitHub push event. You can change it to only build after certain events or targets by specifying conditions for build service builds:

ci:
  builds:
    - name: tests
      build_target: default
      when: branch is 'master' OR action is 'pull_request'

Documentation

More documentation available at http://docs.yourbase.io

Contributing

We welcome contributions to this project! Please see the contributor's guide for more information.

License

This project is licensed under an Apache 2.0 license.

You can’t perform that action at this time.