Deploy Operations Platform — private beta

Make deploys boring.

Pier is the deploy operations platform — versioned, reversible, audited. So shipping software feels like merging a pull request, not running a script and praying.

  • Reversible — one-click rollback
  • Auditable — every action, provenanced
  • Predictable — flat pricing, no surprises
pier.yml · main · towner-grid #a1f3c2
# pier.yml — committed to your repo
version: 1

build:
  image: node:22-alpine
  cache:
    paths: [node_modules, .turbo]
  steps:
    - run: pnpm install --frozen-lockfile
    - run: pnpm build

deploy:
  - target: grid-web
    branches: [main]
    approval: required
    steps:
      - run: ./deploy/grid-web.sh
deployed grid-web · commit a1f3c2 47s
BUILD WHEREVER · SHIP THROUGH PIER GitHub Actions CircleCI Buildkite your own runners

/ 01 · the three promises

Boring deploys, by design.

Exciting deploys are a smell. We took the three properties an SRE actually wants from production releases and made them the product.

01

Reversible.

Every deploy is reversible in seconds. Click Redeploy on the previous-known-good release and the same artifact ships again — no rebuild, no re-queue, no commit history shuffling. Rollback is a button, not a Slack thread.

redeploy · promote · roll back
02

Auditable.

Every privileged action has provenance — who, when, against which artifact, under which approval. Append-only audit log, RBAC (admin / maintainer / deployer / viewer), out-of-order approval guard so nobody silently rolls forward past a pending release.

RBAC · audit log · approval gates
03

Predictable.

Flat $29/mo on Pro. No per-seat tax. No auto-refilling credit math. No surprise self-hosted-runner billing. The same pipeline behaves the same way every time — including the invoice.

flat pricing · transparent metering

/ 02 · how it works

Three steps. No drama.

Sign in, point Pier at your fleet, push. From there, every deploy is a row you can click into — not a workflow run you have to archeologise.

  1. 01

    Connect a GitHub repo via OAuth

    Sign in with GitHub, pick an org, select repos. Pier installs the webhook for you and starts watching for pushes. No personal access tokens, no copy-pasting webhook URLs into settings panels.

    towner-grid / app connected · webhook installed
    live
  2. 02

    Tell Pier where it ships — pier.yml or the dashboard

    Power users keep YAML in the repo (version-controlled, reviewable). Everyone else configures from the dashboard. Either way Pier knows which branches go to which deploy targets, when approvals are required, and what env vars apply.

    version: 1
    
    build:
      image: python:3.12-slim
      steps:
        - run: pip install -r requirements.txt
        - run: pytest -q
    
    deploy:
      - target: prod-web-1
        branches: [main]
        steps:
          - run: ./scripts/deploy.sh
    
  3. 03

    Push, watch — and rollback if anything moves wrong

    Pushes trigger a containerised build. Logs stream live to your browser. On success, the deploy fires — or queues for approval. A bad release? Click Redeploy on the last green one. Same artifact, no rebuild, back in seconds. No retro, no Slack thread, no apologies.

/ 03 · honest comparison

What Pier owns — and what others still do well.

CI is solved. Deploy ops isn't. We're not trying to replace anyone's build pipeline — we're picking up where they stop caring.

Deploy operation Π Pier GitHub Actions CircleCI Vercel
One-click rollback to last known good Redeploy button re-run on older SHA re-run on older SHA instant rollback
Out-of-order approval guard enforced no no n/a
Append-only audit log + RBAC included workflow run history workflow run history deployment history
Deploys to your own servers (SSH / SSM) first-class DIY in YAML DIY in YAML their runtime only
Flat monthly pricing (no credit math) $29/mo flat per-minute meter credit-based per-seat + usage
Works alongside your existing CI designed for it is the CI is the CI build + deploy combined
Best when… deploy ops are the problem CI is the problem CI is the problem frontend on their runtime

We like GitHub Actions and CircleCI for building. Pier picks up the deploy half — run both on the same repo and they don't argue.

/ 04 · pricing

Predictable, by design.

No per-seat tax. No auto-refilling credit math. No surprise self-hosted-runner billing. Pro is $29/mo flat — the same number every month for the same team. If you hit overage, you pay $0.005/build-min and we tell you before the invoice.

Free

$0 / forever

Genuinely useful for small teams & side projects.

  • 1 organization
  • Up to 3 repos
  • 2 deploy targets
  • 500 build-minutes / month
  • GitHub OAuth onboarding
  • pier.yml in repo
  • Community support
Start free

Enterprise

Contact

For teams with compliance, scale, or weird-shaped AWS.

  • Dedicated build infrastructure
  • SSO / SAML
  • Custom SLA
  • Cross-account AWS roles (org-of-orgs)
  • Audit log export to S3 / SIEM
  • Priority support, named contact
Talk to us

/ 05 · faq

Questions worth answering directly.

Is my data safe?

Repo secrets are encrypted at rest with Postgres pgcrypto; the encryption key lives in the host's env, not the database. Build containers don't have access to the Docker socket (only the worker does). Source code is cloned per-build into a workdir and wiped after — we don't keep your code on disk.

Can I bring my own runners?

Not today. Pier runs builds on our shared, isolated build pool. That's the whole reason we can be cheaper — we don't make you operate a runner fleet. If you need dedicated runners for compliance reasons, that's an Enterprise conversation.

How does the AWS SSM thing work?

You create an IAM role in your AWS account that trusts Pier's deployer role, with permissions scoped to ssm:SendCommand on the instance tags you choose. Pier assumes that role per-deploy and runs your script via SSM. No long-lived keys, no agent to install. Cross-account / org-of-orgs setups work the same way — one role per account.

What if I outgrow Pro?

You don't get throttled or surprise-billed. Overage on Pro is $0.005 per build-minute — pay-as-you-go, itemised on the invoice. If you're consistently over 20k minutes a month, Enterprise will usually work out cheaper; we'll tell you when that crossover happens.

Do I have to give up GitHub Actions to use Pier?

No — and we'd rather you didn't. The whole product is built around the idea that CI is solved and deploy ops isn't. Most teams keep GHA running their unit tests + Docker builds, and let Pier own everything from "build artifact ready" onward: deploy targets, approvals, rollback, audit log, env vars. The two run on the same repo without arguing.

Why "make deploys boring"?

Because exciting deploys are a smell. Every time a release surprises someone, a retro gets written. Pier exists to delete those retros. Reversible by default, auditable by default, predictable by default — including the bill.

Is there a self-hosted option?

Not today. The codebase is single-tenant-on-a-Linux-host friendly, and we may offer a licensed self-hosted build for Enterprise teams with strict data-residency requirements — talk to us if that's you.

Help us make your deploys boring.

Private beta. Early users help shape the roadmap and lock in legacy Pro pricing for life. No credit card. Three fields, one screen.

we reply within one business day