Build Quickstart
This walks through building an image from a local directory and handing it to Compute to run. It uses the dodil CLI β see CLI Basics to install and authenticate it.
Before you start
- The
dodilCLI, authenticated (a token + endpoint β see CLI Basics). - A directory containing a
Dockerfileand your appβs source.
The build context must be under 4 MB to send inline. For larger trees, upload it first with
dodil ignite build upload(see step 1, alternative) β or point the build at a git repo.
1. Start the build
From your project directory:
dodil ignite build create my-image --context . --tag latestThe CLI tars the context, submits the build, and prints a build_id. The build is queued immediately β it doesnβt block.
Large contexts. If the directory is bigger than 4 MB, upload it once and reference the returned id:
dodil ignite build upload --folder . --name my-image # prints a context_id
dodil ignite build create my-image --context-id <context_id> --tag latest2. Follow the logs
dodil ignite build logs <build_id> --followThis streams Kanikoβs output until the build reaches a terminal state. Status moves PENDING β RUNNING β SUCCEEDED (or FAILED / CANCELLED).
3. Get the image reference
dodil ignite build get <build_id>On success the buildβs imageRefs holds the full image reference (registry/your-org/my-image:latest) pushed to your organizationβs registry.
4. Run it on Compute
Point an image-mode app version at that image and publish it β the image must satisfy the image-mode contract ($PORT, POST /, /healthz, non-root). See the Bring Your Own Image recipe for the full deploy flow.
Prefer HTTP or gRPC?
Everything above maps to BuildService RPCs β CreateBuild, StreamBuildLogs, GetBuild. See the API Reference for the raw HTTP and gRPC contracts.
See also
- How Builds Work β context sources, lifecycle, credentials
- CLI Guide β every
dodil ignite buildcommand - Compute image-mode β the contract a built image must meet
- Secrets β credentials for private base images and git repos