Deployments
Build and release your application straight from Git.
A deployment is the process of building a specific commit of your service and releasing it into production. Each service keeps a full history of its deployments, and you can re-release any successful one at any time.
How a deployment works
Every deployment moves through five phases:
| Phase | What's happening |
|---|---|
Queued | Waiting for a build slot. Usually instant. |
Cloning | Your repository is fetched at the target commit. |
Building | Dependencies are installed, your build command runs, your application is packaged. |
Releasing | The new version is started in parallel with the running one. Traffic shifts once it's healthy. |
Live | The new version is now serving all traffic. |
If any phase errors out, the deployment is marked Failed and your
currently live version is not affected — it keeps serving traffic.
Triggering a deployment
You can trigger a deployment in three ways:
From the dashboard
Open your service and click Deploy at the top. Inhank Cloud fetches the latest commit on your selected branch and starts a new build.
This is the most common flow — use it after merging a PR, changing env vars, or updating service settings.
Retrying a failed deployment
If a deployment failed, click Retry on that deployment's row. The same
commit is built again, useful when the failure was transient (e.g. a flaky
npm install).
Re-releasing an older version
If you need to roll back without rebuilding, use Redeploy on a previous successful deployment. See Redeploy and rollback.
Build process
The build phase is where Inhank Cloud turns your source code into a runnable application.
Detect your runtime
Inhank Cloud inspects your repository for manifest files (package.json,
requirements.txt, go.mod, etc.) and picks the right runtime
automatically. If your repo has a Dockerfile, that takes priority.
See Supported runtimes.
Install dependencies
Using your lockfile when present:
npm ci/yarn install/pnpm install(Node.js)pip install -r requirements.txt/poetry install(Python)go mod download(Go)bundle install(Ruby)
Run your build command
If you have a build step (e.g. npm run build), Inhank Cloud runs it. You
can override the auto-detected command from your service's Settings
tab.
Package your application
The result is bundled into an immutable application image, tagged with the commit hash. This image is what gets released.
Inhank Cloud caches your dependency layers between builds. Your first deployment of a service typically takes 2–4 minutes; subsequent deployments are usually under a minute.
Zero-downtime releases
When a build succeeds, Inhank Cloud releases the new version using a rolling update:
- A new instance is started in parallel with the running one.
- Inhank Cloud waits for the new instance to become healthy (i.e. it's
accepting connections on
PORT). - Traffic shifts to the new instance.
- The old instance is stopped gracefully.
If the new instance never becomes healthy, the release is aborted, the new
instance is removed, and your previous version continues serving traffic
uninterrupted. The deployment is marked Failed.
What lives in a deployment
Every deployment record stores:
- Commit — hash, message, author
- Status — current phase or final outcome
- Build log — full text of the build, available live and after completion
- Release time — when (if) it became live
- Runtime config — the environment variables that were used (values masked)
Click any deployment row in the Deployments tab to expand it.
Build command and start command
You can customize what runs at build and start time from your service's Settings tab:
- Build command — runs at the end of the build phase. Example:
npm run build. Leave blank to use the auto-detected default. - Start command — runs to start your application. Example:
node dist/server.js. Leave blank to use the auto-detected default.
Both commands run in your application's working directory, with all your environment variables available.
Build limits
| Limit | |
|---|---|
| Maximum build duration | 20 minutes |
| Maximum image size | 2 GiB (soft), 5 GiB (hard) |
| Concurrent deployments per service | 1 — newer trigger cancels older |
If a build exceeds these limits, the deployment fails with a clear message in the build log.
What's next
How Inhank Cloud deploys after a git push.
Re-release a previous version, or retry a failed build.
When a build or release goes wrong, start here.
