Serversinc

Deployments

Instructions on how to deploy applications and manage deployment configurations.

The deployments tab contains a list of all deployments for an Application, allowing you to manage and monitor the deployment history. Each deployment entry includes:

  • Deployer: The user who initiated the deployment.
  • Commit / Tag: The commit hash or tag associated with the deployment.
  • Created At: The timestamp when the deployment was created.
  • Duration: The time taken for the deployment to complete.
  • Status: The current status of the deployment (e.g., success, failed, in progress).

Manual Deployment

Applications can be manually deployed in two ways, either by clicking the "redeploy" button, or by clicking the menu next to the "redeploy" button and selecting "Rebuild and Redeploy". The first option will redeploy the latest commit or tag, while the second option will rebuild the application from the source code if it's a Github Application.

Automatic Deployment

Applications can be automatically deployed in two ways:

On Push to GitHub

If the Application is built from a GitHub repository, it can be configured to automatically deploy on every push to the branch specified in the Application settings. This is done by setting up a webhook in the GitHub repository that triggers a deployment in ServerSinc.

Via Webhook

Every Application has a unique webhook URL that can be used to trigger deployments. This URL can be used in CI/CD pipelines or other automation tools to trigger deployments programmatically.

When using the webhook, you can specify the docker tag to deploy by adding it to the request body as {"tag": "your-tag"}. If no tag is specified, the latest commit or tag will be deployed.

Building from Github

When deploying an Application from source, ServerSinc uses the Cloud Native Buildpacks approach to turn your code into a runnable container image.

Under the hood, this is done using the pack CLI inside a temporary container on your server. The process uses the heroku/builder image, which includes a set of common buildpacks for languages like Node.js, Python, PHP, Go, and more.

This process:

  • Clones your GitHub repository onto the server.
  • Runs pack build inside a container using the Heroku builder.
  • Produces a runnable Docker image, which is then deployed as a container.

No Dockerfile is required — the buildpacks detect your app type and handle compilation automatically.

This method is great for standard web apps and APIs. For more complex setups, it's recommended to use a Docker image instead.