https://github.com/mbtproject/mbt
The most flexible build tool for monorepo
https://github.com/mbtproject/mbt
automation build build-tool ci cli dependency-manager deployment devops differential-builds git go mbt monorepo
Last synced: 8 months ago
JSON representation
The most flexible build tool for monorepo
- Host: GitHub
- URL: https://github.com/mbtproject/mbt
- Owner: mbtproject
- License: apache-2.0
- Created: 2017-09-11T12:34:19.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-10-13T14:20:17.000Z (about 2 years ago)
- Last Synced: 2024-10-28T18:15:56.797Z (about 1 year ago)
- Topics: automation, build, build-tool, ci, cli, dependency-manager, deployment, devops, differential-builds, git, go, mbt, monorepo
- Language: Go
- Homepage: https://github.com/mbtproject
- Size: 7.22 MB
- Stars: 219
- Watchers: 13
- Forks: 35
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-monorepo - MBT
- awesome - mbt - The most flexible build tool for monorepo (Go)
README

# mbt
>> The most flexible build orchestration tool for monorepo
[Documentation](https://mbtproject.github.io/mbt/) | [Twitter](https://twitter.com/mbtproject)
[](https://travis-ci.org/mbtproject/mbt)
[](https://ci.appveyor.com/project/mbtproject/mbt)
[](https://goreportcard.com/report/github.com/mbtproject/mbt)
[](https://coveralls.io/github/mbtproject/mbt)
## Features
- Differential Builds
- Content Based Versioning
- Build Dependency Management
- Dependency Visualisation
- Template Driven Deployments
## Status
mbt is production ready. We try our best to maintain semver.
Visit [Github issues](https://github.com/mbtproject/mbt/issues) for support.
## Install
```sh
curl -L -o /usr/local/bin/mbt [get the url for your target from the links below]
chmod +x /usr/local/bin/mbt
```
## Releases
### Stable
|OS |Download|
|-----------------|--------|
|darwin x86_64 |[](https://github.com/mbtproject/mbt/releases/latest/download/mbt_darwin_x86_64)|
|linux x86_64 |[](https://bintray.com/buddyspike/bin/mbt_linux_x86_64/_latestVersion)|
|windows |[](https://bintray.com/buddyspike/bin/mbt_windows_x86/_latestVersion)|
### Dev Channel
|OS |Download|
|-----------------|--------|
|darwin x86_64 |[](https://bintray.com/buddyspike/bin/mbt_dev_darwin_x86_64/_latestVersion)|
|linux x86_64 |[](https://bintray.com/buddyspike/bin/mbt_dev_linux_x86_64/_latestVersion)|
|windows |[](https://bintray.com/buddyspike/bin/mbt_dev_windows_x86/_latestVersion)|
## Building Locally
### Linux/OSX
- You need `cmake` and `pkg-config` (latest of course is preferred)
- Get the code `go get github.com/mbtproject/mbt`
- Change to source directory `cd $GOPATH/src/github.com/mbtproject/mbt`
If you haven't set `$GOPATH`, change it to `~/go` which is the default place used by `go get`.
See [this](https://golang.org/cmd/go/#hdr-GOPATH_environment_variable) for more information about `$GOPATH`
- Run `make build` to build and run all unit tests
- Run `make install` to install the binary in `$GOPATH/bin`
Make sure `$GOPATH/bin` is in your path in order to execute the binary
### Windows
Local builds on Windows is not currently supported.
However, the specifics can be found in our CI scripts (`appveyor.yml` and `build_win.bat`)
## Demo
[](https://asciinema.org/a/KJxXNgrTs9KZbVV4GYNN5DScC)
## Credits
`mbt` is powered by these awesome libraries
- [git2go](https://github.com/libgit2/git2go)
- [libgit2](https://github.com/libgit2/libgit2)
- [yaml](https://github.com/go-yaml/yaml)
- [cobra](https://github.com/spf13/cobra)
- [logrus](https://github.com/sirupsen/logrus)
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY