deploy / detect
Deploy your app code to Cloud Run using Cloud Buildpacks. No Dockerfile required.
advncd detect
Inspect a project and print its detected runtime, build strategy, port, and confidence level. Run this before deploying to confirm advncd has the right profile.
advncd detect --path .
advncd detect --path ./apps/api --name api-service
Output:
path: /home/user/my-app
advncd.yaml: /home/user/my-app/advncd.yaml
runtime: nodejs
build strategy: buildpacks
port: 3000
confidence: high
warnings: none
service name proposal: my-app
Flags:
| Flag | Default | Description |
|---|---|---|
--path | . | Path to the project directory |
--name | auto | Service name override for the proposal output |
advncd deploy
Build and deploy a local project to Cloud Run.
advncd deploy --path . --name my-service
advncd deploy --path ./apps/api --name backend-api
What happens:
- Detects the project runtime and build strategy
- Reads
advncd.yamloverrides if present - Resolves project and region from config or
advncd.yaml - If confidence is not
high, prompts for confirmation - Ensures the Artifact Registry repo
advncdexists - Submits a Cloud Build + Buildpacks build
- Waits for build to complete (up to 30 minutes)
- Deploys the image to Cloud Run
- Enables unauthenticated (public) access
- Saves a deployment record to the local registry
Flags:
| Flag | Default | Description |
|---|---|---|
--path | . | Path to the project directory |
--name | auto | Cloud Run service name override |
Service name resolution
The service name is resolved in this order:
--nameflagservice.nameinadvncd.yaml- Auto-detected proposal from project directory name
The name is slugified — only lowercase letters, digits, and hyphens.
Project and region resolution
Resolved in this order (first non-empty wins):
deploy.project/deploy.regioninadvncd.yaml- Saved config from
advncd init
If neither is set, the command errors with:
missing project/region config; run `advncd init` or set deploy.project/deploy.region in advncd.yaml
advncd.yaml overrides
If advncd.yaml exists in the project root, advncd applies these fields as overrides over auto-detection:
version: 1
service:
name: my-service # service name
port: 8080 # container port
deploy:
project: my-gcp-project
region: europe-west1
allow_service_rename: false
build:
strategy: buildpacks
runtime:
family: nodejs # override detected runtime
framework: nextjs # override detected framework
env:
required: [DATABASE_URL]
optional: [SENTRY_DSN]
Supported stacks
advncd detects any stack supported by Google Cloud Buildpacks, including:
| Category | Frameworks |
|---|---|
| Node.js | Next.js, NestJS, Express, Fastify, Koa, Hono, Remix, Nuxt, SvelteKit, Astro |
| Python | FastAPI, Flask, Django |
| Go | Gin, Echo, Fiber, plain Go |
| JVM | Spring Boot, Quarkus, Micronaut, Ktor |
| Other | .NET, Rails, Laravel, Rust, Elixir |
Service identity
A deployed service is uniquely identified by:
service_name + project_id + region
Redeploying to the same name/project/region updates the existing service. Changing any of the three creates a new service.