Servindo arquivos do GIT com o uWSGI

1

Bom dia a todos!

No meu trabalho diário, estamos usando o NGINX + uWSGI + MongoDB como o contêiner Python Application. Para o desenvolvimento de versões e desenvolvimento colaborativo, estamos usando a instalação do GIT em cada computador do desenvolvedor e um repositório central do GIT para fins de entrega.

Tudo está funcionando bem e sem problemas, MAS há um problema menor.

Até agora, quando queremos fornecer uma nova versão de nossos softwares internos, todos os desenvolvedores mesclam suas alterações e, em seguida, um escolhido (geralmente o gerente de projeto) envia o produto final para o repositório "branch master" em nosso GIT central. Servidor.

Uma vez que esse push é feito, um script que está constantemente procurando no GIT recupera a nova versão e a envia ao nosso servidor uWSGI, que carrega a nova versão para todas as novas conexões.

Agora, estamos nos perguntando como ser capaz de empurrar o servidor GIT e que o uWSGI carrega diretamente e serve suas aplicações web a partir deste servidor GIT.

Existe alguém que já tenha uma solução semelhante ou uma configuração de uWSGI para fazer isso?

    
por Dr I 10.09.2013 / 10:31

2 respostas

1

seu git-repo baseado em servidor não é nada com o qual você trabalha; você sempre dependerá de um repo-clone local, derivado daquela central git-repo (IMHO). o que você pode fazer para se livrar de cronjobs feios: use o pré / pós do git -receber-gancho no seu git-server:

In addition to the client-side hooks, you can use a couple of important server-side hooks as a system administrator to enforce nearly any kind of policy for your project. These scripts run before and after pushes to the server. The pre hooks can exit non-zero at any time to reject the push as well as print an error message back to the client; you can set up a push policy that’s as complex as you wish.

há também uma discussão stackoverflow sobre o git-post-receive- informativo. gancho para preparação de sites ; esp. confira o primeiro link da resposta superior git-website-howto

    
por 11.09.2013 / 02:41
2

Um truque que eu uso no site da minha empresa (é gerado a partir de um repositório do github) é adicionar essas opções ao uWSGI:

; reload the server everytime the repository is updated
touch-reload = .git/index
; every minute pull from the repository
cron = -1 -1 -1 -1 -1 git pull
    
por 10.09.2013 / 11:45