-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker image build always shows a resource to be updated #232
Comments
It looks like all the other language implementations of this actually do register the registry as an output (unlike the Node implementation) |
Are there any plans for fix or do you have any suggestion if we have any way to tackle this? |
im also facing same issue. |
Any work arounds for now |
I too am facing this same issue in dotnet. The Container Definition changes only because the image changes. I went and compared multiple json, Container Definition, outputs with the Pulumi Console and the only changing in the Task Defintion is the actual Image. I currently do not have a work around other than the default deployment strategy for Fargate is a rolling update. If there is any direction further I can assist with in debugging let me know. |
@discovery-NukulSharma @pavankumarkatakam @jkrusic19 Does anyone have a repro of this they could share? I can't tell from the comments so far here exactly what is changing. The original code above shows creating an |
@lukehoban Next week I was going to spend some time on this, trying to determine if I can lock down any dependancies in my app project dockerfile, if they are not already locked down to specific version. Then run some tests with our app dockerfile and with a basic one. |
Here is what I am seeing comparing local "up" to a remote CI "up." Locally:
Remote CI:
I don't have a public repo for this since its in-house code. I was going to dumb it down to a simple nginx image and seeing if the CI system see's diffs. Our app dependancies are locked to the specific version so we are version locked. I will keep testing things once I get some progress done for other items. |
Thanks @jkrusic19 for the details. I believe the issue you are hitting here of different image SHAs from different machines is #23, and I believe that is largely tied to how Docker works across different environments. I expect you could likely work around this by preparing your own tags (based on whatever condition defines when a new tag is needed) and using those as part of the image name. |
So I think you guys are on the correct track into what is causing it, however I am going to throw you a wrench. With Azure Scale Sets or AWS AutoScaling groups they use the same exact AMI/VM. So, wouldn't/shouldn't it reproduce that same SHA? |
I am honestly not precisely sure what causes Docker to compute different hashes. It may even be related to your own Docker build having non-determintic elements to its build process. I'd love to have an isolated repo of this we could do a deeper dive on. |
I am sharing my code with @pierskarsenbarg and a docker file for my lambda function. Maybe you guys can go off of that? |
going back to your comment
All our builds are done via Docker, can you provide an example for this work-around? I have been thinking of a way to hash out the application code artifact into a zip and then need a way to know the previous state. If |
Can you guys describe this function more in-depth? Does this assist with this issue? |
I've updated #132 with some of my findings. |
Any update on this issue? |
@bombillazo @discovery-NukulSharma et al.: this issue is resolved with the new implementation of the Docker Image resource in v4! See our blog post for more info: https://www.pulumi.com/blog/build-images-50x-faster-docker-v4/ |
Hi,
We are using
github.com/pulumi/pulumi-docker/sdk/v2 v2.3.0
, and we are noticing a change is detected each time during build. This is leading to unnecessary redeployment.This seems related to
#19
#28
However, we don't see it working, the PR #28, seems to have fixed only on typescript.
Do we have working solution, which avoids redeployment when application has not changed.
We fetch ECR credentials, and use it to push image, since ECR credentials are part of container def, it is detected as a change.
Sample code below..
`
Appreciate if we can suggest a way forward pls.
pipeline detecting a change..
....
The text was updated successfully, but these errors were encountered: