Deploying, Running, Failed: what each status means
Reading · 6 min · Module 1, lesson 3 of 426 min left in this module
Module 1 · Your first deployLesson 3 of 4
Goal: Read a deployment's status, and know which log to open when it isn't Running.
Key idea
A status tells you whether to wait, move on, or start digging. When it says Failed, the deploy log says why.
The path of a deployment
Buildingrepository deploys only
Deployingimage pulled, spherelets started
Runninghealthy and serving traffic
Failedstopped before going live; read the deploy log
Deploy again
Redeployingprevious version keeps serving
Runningtraffic moves once healthy
Stop the service
Stoppingspherelets finish requests
Stoppednot failed; everything kept
Building only appears when deploying from a repository. The console and csph both show Running; the deploy log calls its last phase Live.
Every status, in one place
Come back to this table whenever a later lesson mentions a status.
| Status | What's happening | What you do |
|---|
| Building | Only when deploying from a repository: your image is being built | Wait, or watch the build log |
| Deploying | The image is being pulled and spherelets started | Wait |
| Running (Live) | Healthy and serving traffic | Nothing. It worked |
| Failed | Stopped before it went live | Read the deploy log |
| Redeploying | A new version is starting; the previous one keeps serving | Wait |
| RollingBack | Going back to an earlier version | Wait |
| Restarting | Your spherelets are being restarted, same version | Wait |
| Stopping, Stopped | Someone stopped the service; everything is kept | Start it when you need it |
| Starting | A stopped service is coming back | Wait |
The status reads Running; the deploy log and this path call that Live. Same thing. Started, Restarted and Redeployed also mean it worked.
Where the logs are
In the console, open the service and choose its Logs tab:
- Deploy: each step of the rollout, and where it stopped.
- Runtime: what your app prints while it runs, including a crash.
Services built from a repository also have a Builds tab with the build log.
From the terminal:
csph logs hello-web --kind deploy
csph logs hello-web
The second line shows runtime logs, the default.
When it says Failed
Start with the deploy log and read it from the top. The usual causes, in order:
- Wrong port. The app listens somewhere else, so it never answers.
- The image can't be pulled. A typo in the name or tag, or a private image without registry credentials.
- The app crashes on start. Often a missing environment variable; the runtime log shows it.
- The health check fails. The app runs, but the check's Endpoint path returns an error.
- Not enough spherelet capacity on the account. This is refused before anything starts, with a message saying so.