Deploy Web Job | FlightStack
Deploy Web Job
Section titled “Deploy Web Job”Takes the artifact produced by Build Web and pushes it to
Firebase Hosting. Supports the live channel and time-bounded preview channels.
Step ref: flightstack/deploy-web@1.0.0.
Requirements
Section titled “Requirements”- A successful Build Web job upstream (artifact:
web-release.zip). - A Firebase project linked via a Firebase service-account credential in code signing storage.
- Firebase Hosting enabled on that project.
Configuration
Section titled “Configuration”| Option | Description | Default |
|---|---|---|
| Project ID | Firebase project ID | from credential |
| Site ID | Firebase Hosting site ID (multi-site setups) | — |
| Channel | live or a preview channel name | live |
| Preview expiration | Days until preview channel expires (preview only) | 7 |
| Service account | Firebase service-account credential (FlightStack credential ID) | required |
How it works
Section titled “How it works”- The agent downloads
web-release.zipand extracts it locally. - Downloads the Firebase service-account JSON from FlightStack code-signing storage.
- Runs
firebase hosting:channel:deploy(preview) orfirebase deploy --only hosting(live). - Posts back the resulting public URL — which appears on the run page.
If Project ID is set on both the credential and the job, the job-level value wins.
Example pipeline
Section titled “Example pipeline”┌──────────┐ ┌───────────┐ ┌────────────┐│ On Push │───▶│ Build Web │───▶│ Deploy Web ││ main │ │ │ │ live │└──────────┘ └───────────┘ └────────────┘
┌──────────┐ ┌───────────┐ ┌────────────────┐│ On PR │───▶│ Build Web │───▶│ Deploy Web ││ │ │ │ │ preview, 7 days │└──────────┘ └───────────┘ └────────────────┘Outputs
Section titled “Outputs”| Name | Description |
|---|---|
deployedUrl | Public URL of the deployed site or preview |
channelId | Channel ID (only for previews) |
expiresAt | Expiration timestamp (only for previews) |
Reference downstream with ${{ steps.deploy.outputs.deployedUrl }} — see
variables.
Troubleshooting
Section titled “Troubleshooting”“Project ID is not configured”
Set Project ID on the Firebase Service Account credential in FlightStack, or set it
explicitly on this job.
“403 PERMISSION_DENIED firebasehosting.googleapis.com” The service account is missing the Firebase Hosting Admin role.