Code Monkey home page Code Monkey logo

Comments (4)

mbrukman avatar mbrukman commented on July 24, 2024 1

I'm not sure if we can use Docker Hub automated builds with our current file/directory setup.

Docker Hub appears to support the following modes: having a single Dockerfile, and build a new version with each new tag, or just the branch (you can use regexes to specify branch names or tags). However, Docker Hub does not appear to support regexes for source paths, which is what we would want to do; docker/hub-feedback#759 is a feature request for this type of a feature.

To use automated builds, we would need to use a single Dockerfile, and have a per-version branch or tag, which makes it hard to keep Dockerfile build steps or README files consistent across versions,
since you have to port them to each tag/branch — this is also pointed out in the feature request above.

We can certainly have automated builds via Travis CI on every commit, with appropriate tags (including manual maintenance of where latest points to), but it doesn't appear to be possible to do what we want purely via Docker Hub, with no extra steps, at least not at this time.

from janusgraph-docker.

mbrukman avatar mbrukman commented on July 24, 2024

I was going to suggest this myself, and then realized you've already proposed this as well, so 👍!

Would this also require keeping a separate Dockerfile for every released version, right? Right now, we're keeping only the latest x.y image which is hard-coded to a particular x.y.z image, so once we've defined 0.3.2, for example, the repo at master no longer has the Dockerfile definition of 0.3.0 or 0.3.1, so it's unclear how it was built, without going back in history to see what the Dockerfile looked like at the time the build was made.

from janusgraph-docker.

FlorianHockmann avatar FlorianHockmann commented on July 24, 2024

Would this also require keeping a separate Dockerfile for every released version, right?

I think this is independent of the question whether we build and push the images ourselves from Travis CI or use Docker Hub automated builds. For both, we need a Dockerfile of everything we want to push.

I actually don't have a strong opinion on whether we should include Dockerfiles for all versions we ever pushed or only a Dockerfile for the newest version of every branch. One downside I see with the approach to have Dockerfiles even for old versions like 0.2.0 is that pushing updates for such old versions is probably unexpected for users months or even years after the release of that version of JanusGraph.

But any way, I think that we should treat those two aspects as two unrelated issues as we can switch to Docker Hub automated builds without changing our current approach to only keep the latest x.y Dockerfile and we can switch to including all x.y.z Dockerfiles irrespective of whether we are pushing the images from Travis CI or with automated builds via Docker Hub.

from janusgraph-docker.

FlorianHockmann avatar FlorianHockmann commented on July 24, 2024

Looks like this won't be supported by Docker Hub any time soon as the issue was closed for inactivity. So, I'm also closing this for now. We can still re-open it later if this becomes possible and we still want to change the workflow of how be build and deploy our images.

from janusgraph-docker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.