Como pretende monitorar cada branch de cada projeto para fazer deploy? Isso não me parece escalável ou eu não compreendi sua explicação para o CD. De todo modo, seria mais interessante você disponibilizar uma api para fazer isso por meio do github actions, jenkins ou gitlab. Alias, pelo que eu entendi você só iria suportar Github. Parabéns pelo projeto
Olá, obrigado por participar!
Pela sua pergunta, acredito que você tenha imaginado um processo de polling, onde meu servidor ficaria constantemente consultando alterações nos projetos e realizando o deploy. Existem várias maneiras de alcançar esse resultado, mas a mais comum e adequada é escutar eventos.
Um exemplo disso é o GitHub Actions, onde você pode definir um pipeline para cada branch, conforme sua necessidade, e quando ele recebe um evento, o mesmo e ativado. O approach mais apropriado para esse tipo de funcionalidade seria, então, a utilização de webhooks.