Auto-deploy a static site from Git: push to publish
Auto-deploy from Git (continuous deployment) means the site publishes itself on every
git push. You write code, commit and push, and the hosting picks up the new version from
the repository, builds it and serves it over HTTPS. No manual archive uploads, no “publish”
buttons.
How it works
- You connect a Git service to the project once and link a repository to the site.
- Tuqo creates a webhook in the repository automatically. That is how the Git service tells Tuqo about a new push.
- On a push to the production branch, Tuqo receives the webhook, clones the repository, builds the site in an isolated sandbox and publishes the new version. On plans that keep several versions, the previous one stays, so a rollback is one click.
Supported Git services
- GitHub and GitFlic: connect with your account (OAuth), one-click sign-in.
- GitVerse, GitLab, Gitea: connect with a personal access token. GitLab and Gitea also work self-hosted: enter the URL of your instance.
GitVerse and GitFlic are Russian Git hosting services; if your code already lives there, it works the same way as with GitHub.
The connection is stored at the project level: authorize once and use the service in any site of the project without entering the token again.
Setup in three steps
- Open the site in the panel → the Git CD tab.
- Pick how to connect (the tiles at the top). For GitHub or GitFlic, click “Sign in with GitHub” (or GitFlic); for GitVerse, GitLab or Gitea, paste an access token.
- Pick the repository from the list and the branch (
mainormaster) → Link. The webhook is created for you, and auto-deploy switches on automatically.
That’s it: the next git push to that branch publishes the site. Next to it you will find
the Auto-deploy on push toggle, which you can turn off for a while, and the Deploy
now button for a manual run.
The build: what happens under the hood
- If the repository has a
package.json, Tuqo builds the project on Node 20 (npm ci && npm run build) and takes the output fromdist/,build/orout/. This covers Vite, React, Vue, Astro, SvelteKit (static), Next.js (export) and others. - If there is no
package.json, it is plain static content and the site is published as is (index.htmlmust be at the root).
The hosting is static only: server code (PHP, a Node server, SSR) does not run. Only the built static files are published.
Why it beats manual uploads
- No building and archiving by hand: you push as usual.
- Deploys follow your Git history: you always see which commit is in production.
- Rolling back to a previous version is one click in the deploy history (on plans that keep more than one version, see pricing).
If you need your own steps before the build (tests, linters, code generation), build in your own CI and publish with the CLI instead; see deploy from GitHub Actions and GitLab CI.
Git CD → · Deploy from GitVerse (in Russian) → · CI/CD without GitHub Actions →