This page walks you through deploying an application to Stack Harbor PaaS for the first time. It covers the two most common paths — uploading a packaged archive and deploying from a Git repository — then shows you how to confirm the application is running.
Deeper detail on every deploy option, field reference, and runtime-specific caveats lives in the Deployment guide.
What this covers
- What you need before you deploy.
- Deploying from an archive (a local file or a URL to a build artifact).
- Deploying from a Git repository using the Deployment Manager.
- Pointing the deploy at the correct application server.
- Opening the app in a browser and reading the logs to confirm it works.
Before you start
You need one thing before you can deploy: a running environment with an application server layer.
If you have not created an environment yet, follow the Create your first environment guide, then return here. The environment must have a status of Running in the dashboard before you continue.
The examples on this page use demo environment and application names: prod-app for the environment and nodejs-api for the application being deployed. Substitute your own names wherever they appear.
Deploy from an archive
Archive deployment takes a packaged build artifact — a .zip, .tar.gz, .war, .jar, or similar — and places it on the application server. There is no repository connection and no build step on the platform side; whatever your pipeline produces is what gets deployed.
There are two ways to supply the archive: upload a file from your computer, or give the platform a URL that points to the artifact directly.
Open the deploy dialog
Two entry points reach the same deploy dialog:
- From the application server row — In the environment topology, hover over the application server layer in your
prod-appenvironment. A row of icons appears. Click the icon for local file upload or for URL to open the archive deploy dialog. - From the Deployment Manager — The Deployment Manager panel is at the bottom of the dashboard. If you have already added an archive there, hover over it and select the option to deploy it to an environment. See Deployment Manager for how to add and organize stored archives.
Deploy — prod-app
Fill in the fields
| Field | What to enter |
|---|---|
| Local file or URL | Select a file from your computer, or paste a direct-download URL to the artifact. Accepted formats include .zip, .tar.gz, .tar.bz2, .tar, .war, and .jar. |
| Environment | Select prod-app (or whichever environment you created). This field is pre-filled if you opened the dialog from the application server row. |
| Path | The context path on the server where the application will be placed. For most runtimes you can leave this at the default. Python and Node.js use a single fixed path and do not accept a custom value. |
| Deploy strategy | If your application server layer has more than one node, choose how nodes are updated. A simultaneous update is faster but causes a brief interruption; a sequential update with a delay between nodes avoids downtime. On a single-node layer this setting has no effect. |
When the fields look right, confirm the deploy. The platform unpacks the archive onto the application server. A progress indicator appears in the Tasks panel at the bottom of the dashboard. Wait for it to complete before proceeding to Verify your app is live.
Deploy from Git
If your code lives in a Git repository, the platform can clone it and deploy directly from a branch. This is the VCS deploy path.
The short version of the steps:
- Open the Deployment Manager (bottom of the dashboard).
- Add your repository — provide the repository URL and any credentials needed.
- Once the repository is registered, hover over it in the Deployment Manager and select the option to deploy it to an environment.
- In the deploy dialog, select your
prod-appenvironment, confirm the branch (it defaults tomaster), and confirm the deployment path. - Confirm the deploy.
The platform clones the repository and copies the files onto the application server. For Java applications the platform sends the source to a Maven build node first; the build node compiles and packages the artifact before it reaches the application server.
For a full field-by-field reference for the VCS deploy dialog — including the auto-deploy polling option, conflict handling, and runtime caveats — see the Deployment guide.
For a webhook-driven flow where a git push triggers a deploy immediately without polling, see Git-Push-Deploy.
Verify your app is live
After the deploy completes, two controls confirm the application is running correctly.
Open in Browser
On the environment row for prod-app, click the option to open the environment in a browser. A new tab loads the application’s public URL. If you see the expected response — a page, a JSON payload, an API health check — the deploy succeeded.
If the page does not load, check the logs before assuming the deploy failed. The platform may still be starting the application process.
View the logs
On the application server node, click the log icon. The log view shows application logs, deploy logs, and error logs. Look for any startup errors or missing-dependency messages. If the application started cleanly, the log will show the normal startup output for your runtime.
For more on reading log output, see Viewing log files.
Where to go next
- Deployment guide — complete field reference for archive and VCS deploy dialogs, runtime caveats, auto-deploy, and more.
- Deployment Manager — manage stored archives and registered repositories; organize deploys across multiple environments.
- Git-Push-Deploy — webhook-driven deploys triggered immediately on
git push, without polling. - Blue/green deployment — traffic-shifting between two environments for zero-downtime production releases.
- Dashboard guide — the full dashboard reference: environment controls, topology panel, node actions, and settings.