Continuous Deployment with Exoframe
You do not need a custom GitHub Action to deploy with Exoframe - just run the CLI inside your workflow and pass a deploy token.
1. Create and store a deploy token
- Run
exoframe token add ci-deploylocally and copy the generated token. - Add it as a CI secret (for GitHub:
Settings → Secrets and variables → Actions → New repository secret) namedEXO_TOKEN.
2. Add a workflow
.github/workflows/deploy.yml
name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 24
uses: actions/setup-node@v4
with:
node-version: 24
- name: Install dependencies
run: npm install --ci
- name: Deploy via Exoframe
run: npx exoframe deploy -u -e https://exoframe.example.net -t $EXO_TOKEN
env:
EXO_TOKEN: ${{ secrets.EXO_TOKEN }}
-utells Exoframe to run an update so the deployment keeps its existing UUID, domain, and certificates.-eis your Exoframe server endpoint.-tconsumes the deploy token exposed asEXO_TOKEN.
3. Customize for your stack
- Replace
npm installwithbun,pnpm, or additional build steps (e.g.,npm run build). - Pass
-c exoframe.prod.jsonif you keep multiple configs. - Limit the trigger (
on:block) to whichever branches/tags you consider production. - On other CI providers, follow the same blueprint: install Node, prepare your workspace, run
npx exoframe deploywith the endpoint and token.
Once configured, every push to the selected branch automatically builds your project and redeploys it via Exoframe without any extra wrappers.