Problem
make run/pipecd builds the PipeCD control-plane image with:
but the repository does not have a root .dockerignore.
During local development setup, Docker can send a very large build context. In my local setup after running the documented dependency/setup commands, the Docker build context reached approximately 2.5 GB. Repo-local generated directories such as .dev, .cache, .artifacts, and web/node_modules are included even though they are not needed in the image build context.
Impact
make run/pipecd is slower than necessary for first-time and repeat local builds
- Docker daemon disk usage grows unnecessarily
- Makes the contributor setup experience heavier than expected, especially on first run
Suggested Improvement
Add a root .dockerignore (mirroring the relevant entries from .gitignore) to exclude local/generated directories from the build context. Suggested content:
# Version control
.git
# Local dev environment
.dev
.cache
.artifacts
# Go
vendor
# Node / web
node_modules
web/node_modules
web/dist
web/.cache
web/coverage
docs/node_modules
# Helm chart deps
.rendered-manifests
manifests/pipecd/charts
manifests/piped/charts
manifests/site/charts
manifests/helloworld/charts
# Bazel
bazel-bin
bazel-genfiles
bazel-pipecd
bazel-out
bazel-testlogs
# IDE / OS
.idea
.ijwb
.DS_Store
# Terraform
.terraform
This should significantly reduce the Docker build context size and improve the local contributor experience with no change to the final image contents.
References
cmd/pipecd/Dockerfile line 7: COPY . .
.gitignore already lists these dirs; .dockerignore entries mirror them
Problem
make run/pipecdbuilds the PipeCD control-plane image with:COPY . .but the repository does not have a root
.dockerignore.During local development setup, Docker can send a very large build context. In my local setup after running the documented dependency/setup commands, the Docker build context reached approximately 2.5 GB. Repo-local generated directories such as
.dev,.cache,.artifacts, andweb/node_modulesare included even though they are not needed in the image build context.Impact
make run/pipecdis slower than necessary for first-time and repeat local buildsSuggested Improvement
Add a root
.dockerignore(mirroring the relevant entries from.gitignore) to exclude local/generated directories from the build context. Suggested content:This should significantly reduce the Docker build context size and improve the local contributor experience with no change to the final image contents.
References
cmd/pipecd/Dockerfileline 7:COPY . ..gitignorealready lists these dirs;.dockerignoreentries mirror them