I work for a company that maintains lots of custom WordPress plugins and themes for our network of myriad WordPress sites. The repo managers have it set up so that webhooks are added to the repos and push releases out the main server hosting the files any time a new released is published (at least I'm pretty sure that is what's going on).
However, I run a few webservers that also use these plugins, and anytime a new release is published, I either manually update it via SSH or SFTP. Since I manage lots of WordPress sites (I've opted for multiple single-site instances, rather than a multisite install) and there are lots of plugins to keep up-to -date, this gets old fast.
I started writing a WordPress plugin that allows me to point installed plugins and themes to their GitHub URLs and make it so that I'm able to visually see when updates are available in the WordPress UI and make updates that way, and so far this approach is promising.
However, this solution is locked in to WordPress, and I'm hoping for a more reusable solution involving the command line and a cron job, and/or a way for me to run a command that checks if any new releases have been made and update the local directories that hold those themes and plugins.
I feel like this is a common-enough use case that there ought to be a standardized solution out there, but every time I Google it, it points me in the direction of setting up webhooks via GitHub repositories, which I don't want to do because A. I don't have the privileges to modify these repos' settings (though I suppose I could just fork them) and B. I wouldn't want to have to make modifications to the webhooks any time my webserver is migrated (for instance, I'm currently in the process getting ready to migrate everything to AWS). So rather than having the repo pointed to my server(s) via webhooks, I'd rather have the servers listening for new GitHub releases via cron, if that makes sense.
The OS I'm dealing with right now is RHEL 7, though I will be either updating to RHEL 8 or migrating to Ubuntu in the near future.
Let me know if there's a better community to ask this question, if I'm using any terminology wrong, or if I am thinking about this the wrong way.