Skip to main content

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:

FlagDefaultDescription
--path.Path to the project directory
--nameautoService 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:

  1. Detects the project runtime and build strategy
  2. Reads advncd.yaml overrides if present
  3. Resolves project and region from config or advncd.yaml
  4. If confidence is not high, prompts for confirmation
  5. Ensures the Artifact Registry repo advncd exists
  6. Submits a Cloud Build + Buildpacks build
  7. Waits for build to complete (up to 30 minutes)
  8. Deploys the image to Cloud Run
  9. Enables unauthenticated (public) access
  10. Saves a deployment record to the local registry

Flags:

FlagDefaultDescription
--path.Path to the project directory
--nameautoCloud Run service name override

Service name resolution

The service name is resolved in this order:

  1. --name flag
  2. service.name in advncd.yaml
  3. 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):

  1. deploy.project / deploy.region in advncd.yaml
  2. 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:

CategoryFrameworks
Node.jsNext.js, NestJS, Express, Fastify, Koa, Hono, Remix, Nuxt, SvelteKit, Astro
PythonFastAPI, Flask, Django
GoGin, Echo, Fiber, plain Go
JVMSpring 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.