Tanner Rollefson

Shipit: Coordinating Multi-Repo Releases

Shipit coordinates releases across multiple repos without doing it by hand.

It uses Terraform’s plan/apply model. Before anything is pushed, you see what will happen (commits, tag names, PR descriptions) then apply it.

A config file describes your projects and their pipelines. Each step is either a branch-to-branch merge (b2b) or a branch-to-tag release (b2t):

projects:
  - name: api-common
    pipeline:
      - type: b2b
        source: dev
        target: main
      - type: b2t
        source: main
  - name: api-service
    pipeline:
      - type: b2b
        source: dev
        target: main
      - type: b2t
        source: main
  - name: frontend
    pipeline:
      - type: b2b
        source: dev
        target: main
      - type: b2t
        source: main

Check out the project documentation for more information.

LinkedIn GitHub LeetCode