Giter Site home page Giter Site logo

Comments (5)

justincormack avatar justincormack commented on May 17, 2024

I did make a container for build (non cross) and happy to contribute one as an example. Apart from the cross build issue, it is a bit annoying to use as you don't vendor your dependencies into the repo which means the Dockerfile looks like:

...
COPY . ./
RUN govendor sync
RUN make

Which makes it painfully slow to use for development as you have to re-sync each time you edit the source. I am currently vendoring infrakit and its dependencies so it is more usable for building in a container.

from deploykit.

wfarner avatar wfarner commented on May 17, 2024

it is a bit annoying to use as you don't vendor your dependencies into the repo

We've gone back and forth on this...i really like the idea of not checking in vendored sources, but it's starting to look impractical.

from deploykit.

thaJeztah avatar thaJeztah commented on May 17, 2024

SwarmKit recently switched to https://github.com/LK4D4/vndr you could check with them how that worked out so far

from deploykit.

wfarner avatar wfarner commented on May 17, 2024

Relevant: #189

from deploykit.

chungers avatar chungers commented on May 17, 2024

I think I have a solution for the build in container / vendor / pain in the sync/ issue.

Basically I’ve separated out the code compilation and vendor sync into two separate steps. The vendor sync step is done in a container named by the hash of the vendor/vendor.json.

The compilation of infrakit code is in a separate container but uses the first container as the data volume (via the —volumes-from option in docker run). So the compiler sees the vendored code, and there's no need to do any more vendor sync unless the vendor/vendor.json file is updated -- at which time a new hash will produce a new data container / data volume. This will be reused across multiple compiles as long as the the hash doesn't change.

See #241

from deploykit.

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.