Need help with microplane?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Clever
206 Stars 31 Forks Apache License 2.0 309 Commits 7 Opened issues

Description

A CLI tool to make git changes across many repos, especially useful with Microservices.

Services available

!
?

Need anything else?

Contributors list

microplane

A CLI tool to make git changes across many repos.

Learn more about microplane in this introductory blogpost.

microplane

"the lemon is Git{Hub,Lab}"

Setup

Here are several ways to install microplane:

  • Pre-built release - You can download a pre-built version of Microplane from the Github releases.
  • Compile it yourself - Run
    go get github.com/Clever/microplane/cmd
    . In this case the binary will be installed to
    $GOPATH/bin/microplane
    . Alternately, you can follow the steps under "Development", below.
  • Homebrew -
    brew install microplane
    . The latest homebrew formula is here

Usage

GitHub setup

The

GITHUB_API_TOKEN
environment variable must be set for Github. This should be a GitHub Token with
repo
scope.

Optional: If you use self-hosted Github, you can specify its URL by passing

--provider_url=
when running
mp init
. This URL should look like:
https://[hostname]
. Don't include path parameters like
/api/v3
or
/api/uploads
.

Self-hosted Github setup with different URLs for the main API and uploads API are not yet supported. If this is a blocker for you, please file an issue or make a PR.

GitLab setup

The

GITLAB_API_TOKEN
environment variable must be set for Gitlab. This should be a GitLab access token

To use Gitlab, you must specifically pass

--provider=gitlab
when running
mp init
.

Optional: If you use a self-hosted Gitlab, you can specify its URL by passing

--provider_url=
when running
mp init
.

Using Microplane

Microplane has an opinionated workflow for how you should manage git changes across many repos. To make a change, use the following series of commands.

  1. Init - target the repos you want to change
  2. Clone - clone the repos you just targeted
  3. Plan - run a script against each of the repos and preview the diff
  4. Push - commit, push, and open a Pull Request
  5. Merge - merge the PRs

For an in-depth example, check out the introductory blogpost.

Related projects

  • https://github.com/Skyscanner/turbolift
  • https://github.com/octoherd/cli

Development

See

Development.md
.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.