Open source deploy tooling

Know what will happen before you deploy.

Delivery Boy turns one readable config file into a checked, reversible release. Preview every step, catch problems early, ship complete builds, and roll back when a live check fails.

MIT licensed ยท no server required ยท runs from your laptop or CI

.deliver.yml
$ deliver plan

production ยท web
  01  build Hugo site
  02  package release
  03  check server access
  04  upload and verify
  05  activate release
  06  check live URL

$ deliver deploy
  โœ“ preflight
  โœ“ build
  โœ“ stage
  โœ“ activate
  โœ“ verify

release succeeded
Plan firstSee the real commands and order
Change lastCheck tools, files, secrets, and access first
Recover fastRestore the prior complete release

A release you can inspect

Your deploy is code.
Keep it with the code.

Put the release contract in .deliver.yml. Review changes with the rest of the project, then ask Delivery Boy to compile it into a plan.

01

Describe

Name the targets, services, secrets, checks, and release order in one file.

02

Preview

Print every local command, upload, remote step, live switch, and check without running them.

03

Preflight

Find missing tools, inputs, secrets, and server access before the release changes anything.

04

Release

Build and stage complete artifacts, switch them live, verify production, and roll back on failure.

Use the stack you have

One release can contain more than one shape.

A site, a Compose stack, an nginx change, and a signed Mac app can belong to one ordered plan. Delivery Boy calls the tools that already do each job well.

H

Hugo

Build, package, stage, and switch a static site without a partial-copy window.

F

Files

Ship prepared directories and artifacts as versioned releases.

D

Docker Compose

Keep Compose files intact while Delivery Boy builds, ships, starts, and checks them.

N

nginx

Issue TLS, stage changes, validate the full config, and restore it if reload fails.

M

macOS

Build, sign, notarize, and publish an app and its Sparkle feed.

โ€บ_

Commands

Add the project-specific local and SSH steps that make your release yours.

CLI first

Useful without an account.

The open-source CLI is the product, not a thin client for a hosted service. Run it locally or in CI. Keep targets and steps in your repository. Resolve secrets from tools you already trust.

Install and make a plan โ†’
deliver initDetect the project and prepare a configdeliver planPrint the release without running itdeliver preflightCheck requirements and accessdeliver deployBuild, stage, activate, and verifydeliver rollbackRestore the prior release

Teams, next

The CLI works alone. The service adds coordination.

Shared run history, schedules, approvals, Slack, notifications, and remote runners are in development. The service will use the same release engine and config as the CLI.

Run historyApprovalsSchedulesRemote runnersSlackNotifications

See the release before you run it.

Start with the plan. Run it when it looks right.