You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The docker build CLI does not have an issue with the self-referencing dockerfile. It just pulls the latest version of the image the COPY command requires from the CI's registry and then starts the build.
However, when using docker_build() in Tilt I get an error:
getting image build info for service: Image dependency cycle: docker.example.com/project/image:latest
Steps to Reproduce
(The cycle detection looks like a consciously integrated and unit tested feature, hence I believe it is clear how to reproduce it. If not, please let me know!)
Context
tilt doctor Output
$ tilt doctor
Tilt: v0.33.11, built 2024-02-15
System: linux-amd64
---
Docker (cluster)
- Host: tcp://192.168.49.2:2376
- Server Version: 24.0.7
- API Version: 1.43
- Builder: 2
---
Docker (local)
- Host: unix:///var/run/docker.sock
- Server Version: 25.0.3
- Version: 1.44
- Builder: 2
- Compose Version: v2.24.6
---
Kubernetes
- Env: minikube
- Context: minikube
- Cluster Name: minikube
- Namespace: default
- Container Runtime: docker
- Version: v1.28.3
- Cluster Local Registry: none
---
Thanks for seeing the Tilt Doctor!
Please send the info above when filing bug reports. 💗
The info below helps us understand how you're using Tilt so we can improve,
but is not required to ask for help.
---
Analytics Settings
--> (These results reflect your personal opt in/out status and may be overridden by an `analytics_settings` call in your Tiltfile)
- User Mode: opt-in
- Machine: 39fbf492702fe92fd21f2f3f95e0c377
- Repo: ilwzMX3bpG4n/TVLO/2yHg==
...
About Your Use Case
We have a large C++ code base and plan to switch to container-based development & deployment using Kubernetes.
The idea is that our CI periodically creates a development docker image where all binaries are prebuilt. When building the next version of the image, the developer or the next CI job pulls the latest existing image from the CI's repository and just build the delta. This procedure seems to be common practice and is describe in the section "Building incrementally" from this blog.
Of course the image originally has to be bootstrapped in the CI. But now as the image exists, both docker builds (local and CI) should pull the latest existing image from the CI's repository enabling incremental builds.
The text was updated successfully, but these errors were encountered:
Expected Behavior
I'd expect Tilt to allow incremental builds (see "About Your Use Case") same as the docker build CLI:
Build command:
Self-referencing dockerfile:
Current Behavior
The docker build CLI does not have an issue with the self-referencing dockerfile. It just pulls the latest version of the image the
COPY
command requires from the CI's registry and then starts the build.However, when using
docker_build()
in Tilt I get an error:Steps to Reproduce
(The cycle detection looks like a consciously integrated and unit tested feature, hence I believe it is clear how to reproduce it. If not, please let me know!)
Context
tilt doctor
OutputAbout Your Use Case
We have a large C++ code base and plan to switch to container-based development & deployment using Kubernetes.
The idea is that our CI periodically creates a development docker image where all binaries are prebuilt. When building the next version of the image, the developer or the next CI job pulls the latest existing image from the CI's repository and just build the delta. This procedure seems to be common practice and is describe in the section "Building incrementally" from this blog.
Of course the image originally has to be bootstrapped in the CI. But now as the image exists, both docker builds (local and CI) should pull the latest existing image from the CI's repository enabling incremental builds.
The text was updated successfully, but these errors were encountered: