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
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.