3 ms·
It’s frustrating to not see more system package management (deb, rpm) from these new services (github and gitlab for instance). Are others not packaging their
by tkinz27 6y ago
It’s frustrating to not see more system package management (deb, rpm) from these new services (github and gitlab for instance).
Are others not packaging their code in intermediate packages before packing them into containers?
- wmf 6y agoThat sounds like double work.
- manigandham 6y agoWhat's the purpose of intermediate packages if you're already using containers?
- tkinz27 6y agoVery large c++/python/cuda application that is packed into various different images (squashfs images, but functionally the same). We end up having a lot of libraries that are shared across multiple images.
- manigandham 6y agoWould it not be easier to just pack into different base images? Docker is very efficient with reusing these layers.
- Jtsummers 6y agoIntermediate packages permit you to choose different deployment situations later, with minimal additional cost now. Tying everything to Docker images ties you to Docker and removes your ability to transition to other systems. It may not be worth the cost now, but as soon as you want to deploy on more than one platform it can become critical to maintaining momentum (vice having to hand tailor deployment for each new environment).
- deleted 6y ago[deleted]
- blaisio 6y agoMost people don't need to do that. You can build things you need as part of the image build. No need to setup a deb or rpm package unless you're also installing it that way somewhere else.
- asguy 6y agoWe've been going that direction. Packages integrate better into multiple use cases (e.g. VM images, containers). Running a properly signed apt repo is easy these days, so why not? For people that disagree with this model: where do you think the the software comes from when you apt/apk install things inside your Dockerfile?
- secondcoming 6y agoWe use jfrog. One jenkins job builds our code into a .deb and pushes it there. Another job builds the VM image which is then deployed once testing passes.