Skip to main content

Builds

Greyhound can take care of building and publishing container images from your source code for you. You can also use pre-built images directly.

Building from Source

Define a build in your .greyhound/config.yaml to have Greyhound build a Dockerfile:

builds:
- name: api-build
dockerfile: Dockerfile

Then reference it in a service or job:

services:
- name: api
image_from_build: api-build
ports:
- containerPort: 3000

Greyhound uses the commit SHA from your PR branch to build the image. The built image is pushed to ECR and referenced by the service.

Using Pre-Built Images

If you already have a container image, skip the build and reference it directly:

services:
- name: nginx
image: nginx:1.27-alpine
ports:
- containerPort: 80

image and image_from_build are mutually exclusive — use one or the other per service.

Build Configuration

Builds support custom Dockerfile paths, build arguments, and other options. See the Build schema for the full configuration reference.