Skip to content
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

Engine Updates – custom docker images #44

Open
theflow opened this issue Jun 18, 2020 · 2 comments
Open

Engine Updates – custom docker images #44

theflow opened this issue Jun 18, 2020 · 2 comments
Assignees

Comments

@theflow
Copy link
Member

theflow commented Jun 18, 2020

We know that quite a few teams are using custom docker images as their base image, for example like this

FROM depfu/base:1.0.2-stretch

This makes it basically impossible for us to automatically detect that we need to update that image in the Dockerfile, since there is no relation to the ruby/nodejs version. But it also depends on someone updating the actual image to pull in the new version, so even if we would detect it, there are some workflow dependencies which make this quite tricky.

This is a known issue we're thinking about, but haven't really come up with a good solution yet. if you have any ideas, please let us know!

@theflow theflow self-assigned this Jun 18, 2020
@klausmeyer
Copy link

klausmeyer commented Oct 6, 2020

This makes it basically impossible for us to automatically detect that we need to update that image in the Dockerfile, since there is no relation to the ruby/nodejs version.

Would it be possible to allow configuring a regexp per repo which would help you extracting that version info?
Maybe as some kind of "expert feature".

In our example we're using a custom version of the alpine based ruby base-images hosted on a internal docker registry:

FROM hub.mycompany.intern/baseimages/ruby:2.6.6-mysql

A (very naive) regex in that case might then be just:

/hub.mycompany.intern\/baseimages\/ruby:(.*)-mysql/

But it also depends on someone updating the actual image to pull in the new version, so even if we would detect it, there are some workflow dependencies which make this quite tricky.

IMHO this should be totally ok. One will still need to make sure the ruby version is available on all the target platforms anyways before merging the PR (assuming it's done manually). For example it also takes some time to have the ruby version available on:

  • Travis CI (think they pull it from RVM)
  • GitHub Actions (currently 2.7.2 isn't available there yet in the ruby-setup action)
  • Heroku (might be the fastest to get ruby releases available ^^)
  • Docker Hub (for the official image)

@benoittgt
Copy link

benoittgt commented Nov 8, 2024

We have similar issue we build our own images. Everytime depfu is trying to update images but in the wrong way:

- FROM org/ruby:3.3.5-fdafb4d8867a42b761dc196f67526e7682d12ec9
+ FROM org/ruby:3.3.6-fdafb4d8867a42b761dc196f67526e7682d12ec9

But it should be

- FROM org/ruby:3.3.5-fdafb4d8867a42b761dc196f67526e7682d12ec9
+ FROM org/ruby:3.3.6-<completly-new-sha-fetched-for-our-docker-registry>

But we migrate to a new tag ruby:3.3.6-latest so depfu is able to update it without issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants