27 ms·
I’d recommend you learn to use Debian’s ecosystem for packaging and distribution. We build binary packages out of our source tree using dpkg-buildpackage and r
by asguy 6y ago
I’d recommend you learn to use Debian’s ecosystem for packaging and distribution. We build binary packages out of our source tree using dpkg-buildpackage and run our own organization of apt repositories managed by aptly. We control all of our own signing/key infrastructure and install that on machines just like the rest of the OS.
- secondcoming 6y agoWe work in a similar fashion. I find the art of creating a debian package from scratch tedious though.
- MorganGallant 6y agoAre there any resources you've used in the past to do this? I'm curious what the process is to making / distributing via apt. I've always been a fan of the services which can be installed with a single apt-get, which also automatically setup the systemd service. That's a super awesome combo.
- secondcoming 6y agoWe have a Jenkins job that builds our code from github, runs the tests, builds the package and then uploads that to our private JFrog repo. Then we have another job that builds VM images (GCP) by installing the package from JFrog and all its dependencies. One final job starts the rolling upgrade of live machines. The hardest part is getting all the debian/* files right. Recently, I tried to convert a 3rd party tar.gz into a .deb but failed. The documentation isn't great. I think someone on our team mentioned using fpm, but I've not tried it personally. I think our command is just 'dpkg-buildpackage -us -uc $@', but like I said, prepping all the required files for that to just work isn't my area of expertise.
- asguy 6y agoIt's pretty straight forward and easy; every Debian package you're using is generated in a similar fashion. Read [0] for the basics of creating packages and then read [1] for how to setup distribution. It's no more difficult than any other set of build operations. [0] - https://www.debian.org/doc/manuals/maint-guide/ https://www.debian.org/doc/manuals/maint-guide/ [1] - https://www.aptly.info/doc/overview/ https://www.aptly.info/doc/overview/