@cark said in Script/program for installing software - linux:
Don't literally add a new line to your crontab. Use /etc/cron.d
Ok, I'll use /etc/cron.d/. The point is that a file must be created there with the appropriate permissions as part of the deployment.
@JBert said in Script/program for installing software - linux:
I've been thinking about tools like that (including what you'd set up with Jenkins) but they assume
the machines are at all times connected to a master server (don't know this is true, could be a problem if @OffByOne sells boxes and have the customer plug it into a private network)
What do you mean by "connected"? In my use case the servers that I'd like to manage this way are on the same subnet, but there is no daemon running on either the servers or the machines where the deployments will be launched from.
the version from the master server "is king" - there's no versioning on the the remote system (it sounds like the vendor also runs hotfixes on each machine separately?) as these tools assume nobody bypasses the system
Thanks for that formulation. What I meant was exactly that: the vendor sometimes applies hotfixes on the machines without going through my version controlled system (because that system is not in place yet). Maybe I could persuade the vendor to use my system when it is implemented.
Either way, I'd really like to prevent the changes made by the vendor to be overwritten without explicit consent by either me or one of my coworkers. It would be nice to offer a way to merge the changes made by the vendor and the changes made by our team. Since our changes will be in a git repository, I should be able to implement that.
I prefer Ansible because it doesn't assume point 1, but point 2 is common among configuration tools. They almost invariably recommend to regenerate files from a template, but then @OffByOne would need to stay in sync with the vendor to continuously update all templates (multiple if there could be differences between distributions).
I hope I can persuade the vendor to use our version controlled system, but I'm not counting on it. I don't mind doing a little extra work merging vendor hotfixes directly on the live filesystem, but I really wouldn't want to silently overwrite them.