Basta configurar um sistema de gerenciamento de origem e uma tarefa cron para fazer o download periódico das alterações mais recentes.
Veja a pergunta: se eu quiser criar a versão mais recente de um aplicativo a partir da origem, estou destinado a verificar atualizações manualmente? Existe uma maneira melhor de fazer isso?
Se você quiser gerenciar as atualizações automaticamente, deve ficar com repos para o seu sistema de gerenciamento de pacotes.
Se o projeto tiver um repositório de código fonte público, isso seria uma opção. A maior desvantagem aqui é que você pode ficar preso rastreando a versão de ponta do projeto, o que pode não ser desejável em um sistema de produção (claro que isso depende de como eles estruturam seu repositório).
Outra alternativa é usar um sistema de gerenciamento de pacotes que suporte pacotes de código-fonte. O sistema de ports do FreeBSD é ótimo nisso, e existem muitas outras alternativas disponíveis para Linux e outros sistemas baseados em * nix.
Não tenho conhecimento de nenhuma solução semelhante para o Windows, mas geralmente a maioria dos usuários do Windows não compila seu próprio código-fonte.
Se você estiver disposto a investir algum tempo nisso, o prefixo do Gentoo ajudará você.
O prefixo do Gentoo é uma instalação chroot do Gentoo (uma distribuição Linux baseada em fontes). Ele instala todos os pacotes em um diretório especificado. Nenhum acesso root é necessário. Se você quiser se livrar dele, basta remover o diretório base.
Então, basicamente você está preso com o que está disponível nos repositórios de pacotes do gentoo (sobreposições). Mas com algum esforço você pode criar um pacote 'live' do gentoo (ebuild) para o programa e atualizá-lo com um único comando.