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
Creating a new site this way is an account feature on the hosted instance — sign in at app.sitebin.io first, or point SITEBIN_BASE at a self-hosted community instance, which has no such gate. Updating an existing site (below) always works: it authenticates with the site's own edit URL and password.

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.