Deploy from CI

Publish a build folder from any CI system or script with the bundled deploy script, or drop the GitHub Action into a workflow. Either way, a deploy is one HTTP call.

The deploy script

scripts/deploy.sh deploys a folder to a Sitebin instance. Its only dependencies are zip and curl.

Create a new site

Point SITEBIN_BASE at the instance and pass the folder to publish.

SITEBIN_BASE=https://app.sitebin.io scripts/deploy.sh ./dist

Update an existing site

Supply the site's edit URL and edit password instead. This replaces all files on the site with the folder's contents.

SITEBIN_EDIT_URL=https://app.sitebin.io/e/<id> SITEBIN_EDIT_PASSWORD=... \
  scripts/deploy.sh ./dist

GitHub Action

The repository bundles the same flow as an action at .github/actions/deploy. Store the edit URL and edit password as repository secrets.

- uses: ./.github/actions/deploy   # or ittrail/sitebin.io/.github/actions/deploy@main
  with:
    folder: dist
    edit_url: ${{ secrets.SITEBIN_EDIT_URL }}
    edit_password: ${{ secrets.SITEBIN_EDIT_PASSWORD }}

How it works

The script zips the folder and POSTs the archive to the site's files endpoint with ?replace=true — one HTTP call that clears the site's old files and unpacks the new build server-side. No file-by-file sync, no state to reconcile.