2010-07-24 9 views
37

Tengo un repositorio github que quiero enviar a un nodo heroku. Un tercer anfitrión estará coordinando esto. Como voy a hacer esto a gran escala, quiero evitar tener que descargar los contenidos del repositorio en el tercer host. ¿Cómo lo hago?Empuje desde github a heroku sin descargar repo

+1

Esto ahora es compatible con Heroku - ver https://devcenter.heroku.com/articles/github-integration –

Respuesta

47

No puede empujar directamente desde Github a Heroku.

Vas a tener que usar el tercer host para coordinar el impulso. Esto podría ser disparado desde un gancho post-recepción de Github.

Para sincronizar directamente a través de su uso algo como:

git remote add github [email protected]:user/repo.git 
git remote add heroku [email protected]:app.git 

git push heroku refs/remotes/github/master:refs/heads/master 
+0

Ya lo tengo funcionando. Parece que no va a haber ninguna forma de evitar el uso del sistema de archivos en el tercer host :( – opsb

+0

Agregué algunos comandos git a la respuesta –

+4

No era exactamente la respuesta que estaba buscando, pero probablemente la más útil para las personas mirando esta pregunta. – opsb

0

No creo que pueda enviar directamente desde GitHub a otro repositorio remoto.

Si tiene muchas aplicaciones para enviar, puede considerar una organización que use submódulos, like in this SO question.

Aún debería descargar un repositorio para insertarlo en el nodo Heroku, pero al menos puede controlar qué arrastrar/empujar (y hacer una limpieza entre cada inserción).

+0

No seré realmente el propietario de las aplicaciones (estoy construyendo un servicio basado en la nube) así que no tendrá control sobre cómo están organizados. – opsb

2

Codeship.io hace esto como un servicio ahora, y configura automáticamente el WebHooks git apropiadas en repositorios de GitHub públicas o privadas.

Existen algunas otras opciones de "integración continua como servicio" (CIAAS), pero en general solucionan el problema que usted está presentando específicamente: los ganchos de la web deben acceder a un servicio de terceros, que en turn puede desencadenar el proceso de construcción heroku.

Estos anfitriones CIAAS actúan como terceros y generalmente ofrecen un nivel gratuito para proyectos públicos. También puede hacer rodar el suyo implementando un servidor de recepción de enganches web, que puede extraer y enviar repositorios de git.

+0

Codeship es gratis para 5 repositorios privados, hasta 100 despliegues un mes. Probablemente voy a intentarlo. –

+0

En realidad, no, no son compatibles con Python 3.x. Pero aún así, son geniales. –

Cuestiones relacionadas