Hey everyone,
I've got a compiled C++ executable that I need to set up and run on a Debian machine. I want to make sure future updates can be deployed easily as well. I'm pretty comfortable installing Debian on the machine, but I want to know the best way to deploy this application with straightforward update options.
My initial thought was to install the OS, create a systemd service for the software, and then just hand it off to the customer. For updates, I figured I could just copy over a new zip file and replace the old binary. But I've heard there are other methods like creating `.deb` packages, using Ansible, or other tools that might be better.
Keep in mind the customer's network is isolated, so they won't have internet access which means no Docker pulls or private apt repositories.
I'd love to get your tips or recommendations, and are there any key details I should be aware of? Thanks!
2 Answers
You might also want to look into config management tools like Ansible. Though the customer is offline, you can set up Ansible playbooks to prepare their machines once they're on the right version of Debian. For updates, just transfer the playbook with the new version details and run it again!
One option to consider is creating a minimal `.deb` package for your executable. This allows for easy installation and updates without having to manage the binary manually each time. It can help you handle dependencies better and create a cleaner installation process for the customer.
That's a great idea! But how would you actually deploy the `.deb` package on an isolated network? Isn't it tricky without any online resources?

Ansible sounds interesting! I haven't done that before. Would I need to set up some kind of Ansible control node?