I am developing an open source geographical content management system. The CMS has multiple instances, some of which are not in my control. I would like to apply continuous deployment but I cannot put my head around how to fit it into my situation.
For example, I cannot setup Travis to do deployment because there are multiple installations/instances and I do not manage them all. And even if I manage them all, it would feel weird to put instance specific configuration (such as travis.yml deploy) to the code base of the CMS.
However, I am tired of doing manual
git pull; npm install; pm2 reload over SSH for every instance in my control every time we release a new version of the CMS. I wish the updates to be automatic.
What is the recommended continuous deployment approach to a pattern like this? How to do CD without instance-specific data in the code repository?