ArchitectureDeploy pipeline
Enqueue, find the source
To enqueue a deploy, the engine finds its source and stores the deploy as queued.
Explicit source. A source in the request: a commit, or the target of a rollback.
1 / 5
The function is Engine::deploy. After it finds the source, it stores the deploy with the status queued. Then the queue and the worker take the deploy.
Refused deploys
The engine refuses a service with no source. It also refuses a suspended service, with the status code 409.
service 'x' has no repository or image: upload code with `ferry up x`
service 'x' is suspended: resume it before deployingThe first deploy of a public service
A public service with no deploy before gets an empty route immediately. While the first deploy runs, its URL answers 503 ("no healthy instances yet"), not 404.