Implementar en Heroku usando git en bitbucket

82

Quiero alojar mi fuente en bitbucket usando git porque obviamente obtengo un repositorio privado gratuito y quiero alojar mi aplicación en heroku usando el código fuente de bitbucket.

¿Puedo hacerlo usando el cliente github y heroku toolbelt? ¿Funcionará? Github es genial, pero no quiero que todos vean mi código y no quiero pagar por un repositorio privado porque es un proyecto pequeño.

Wasswa Samuel
fuente
1
¿Cómo resolvió exactamente su problema? :)
Matthias
1
De hecho, es muy fácil. Simplemente cree un repositorio en bit bucket y cambie su origen en el archivo de configuración al del repositorio y puede usar bitbucket al contenido de su corazón.
Wasswa Samuel
1
¿En qué archivo de configuración? Mi problema concreto es seguir ... stackoverflow.com/questions/18127761/…
Matthias

Respuestas:

65

La implementación en Heroku debería funcionar independientemente de dónde aloje su código, ya que la CLI de Heroku agrega su propio control remoto git por el bien de las implementaciones. De hecho, incluso puede git pullhacerlo desde Heroku, por lo que técnicamente podría usar Heroku como un repositorio privado de git en su lugar (aunque no se recomienda). En cuanto al uso del cliente de GitHub para conectarse a bitbucket, simplemente cambie el repositorio remoto a la URL proporcionada por bitbucket en la pestaña de configuración del cliente.

Javier
fuente
5
¿Dónde debo cambiar la URL remota?
MaxySpark
Aunque los documentos de Heroku tienen esto que decir al respecto: "Heroku proporciona el servicio git principalmente para la implementación, y la capacidad de clonar desde él se ofrece como una conveniencia. Le recomendamos encarecidamente que almacene su código en otro repositorio git como GitHub y trata eso como canónico ". ( fuente )
Fabien Snauwaert
@FabienSnauwaert De acuerdo. Definitivamente no recomiendo usar Heroku git como VCS principal. Veré si puedo actualizar mi respuesta para aclarar esto. Gracias por la cita anterior
Xavier
35

Solo para agregar a la respuesta de zeiv quién dijo que debería funcionar: puedo confirmar que sí. Usamos bitbucket para git hosting y lo implementamos en heroku. Lo que parece que no puede hacer es agregar su repositorio de bitbucket a su cuenta de heroku para que aparezca el historial de confirmaciones, esta función parece estar actualmente limitada a github (culpa de heroku ;-)

Stefan
fuente
15

Coincidiendo con Stefan, esto funciona perfectamente. Esto es lo que hice:

  1. Me sentí realmente frustrado con la forma en que mi blog de WP se reiniciaba a diario, presentando a cualquiera que navegara a http://blog.example.com con una pantalla de configuración, porque no había wp-config.php.
  2. Iniciada sesión en bitbucket.org.
  3. Vinculado mis cuentas de bitbucket y github.
  4. Bifuré mi repositorio "wp-blog" de github, que había vinculado previamente a mi mando heroku.
  5. Clonado en esta nueva bifurcación ("git clone https: //[email protected]/myname/wp-blog_config.git ").
  6. Se agregó un wp-config.php adecuado.
  7. Agregué mi control remoto heroku desde dentro de esta nueva bifurcación ("git remote agrega heroku [email protected]: adjective-noun-1234.git")
  8. Comprometidos y desplegados en heroku ("git push heroku master: master")
tejido a mano
fuente
14

Bitbucket ahora es compatible con Pipelines , lo que debería facilitar la implementación en Heroku. Simplemente siga este tutorial: https://confluence.atlassian.com/bitbucket/deploy-to-heroku-872013667.html

Mi bitbucket-pipelines.ymlsolo empujar la rama maestra a Heroku se ve así:

image: node:6
clone:
  depth: full
pipelines:
  branches:
    master:
      - step:
          script:
            - git push -f https://heroku:[email protected]/$HEROKU_APP_NAME.git $BITBUCKET_BRANCH
Karl Adler
fuente
¿Lo lograste funcionando? Todavía no puedo presionar a heroku :(
Alan Donizete
nvm, solo un error tipográfico que no me di cuenta :( ... jaja, gracias
Alan Donizete
Esto funciona, pero asegúrese de usar la clave API de dashboard.heroku.com/account , no deheroku auth:token
katzmopolitan
2

Encontré esta página útil

Instalar Heroku Toolbelt

Si aún no lo ha hecho, inicie sesión en su cuenta de Heroku y siga las instrucciones para crear una nueva clave pública SSH.

$ heroku login

Crea un nuevo repositorio de Git

Inicializar un repositorio de git en un directorio nuevo o existente

$ cd my-project/
$ git init
$ heroku git:remote -a PROJECTNAME

Implementa tu aplicación

Envíe su código al repositorio e impleméntelo en Heroku usando Git.

$ git add .
$ git commit -am "make it better"
$ git push heroku master

Repositorio de Git existente

Para los repositorios existentes, simplemente agregue el control remoto heroku

$ heroku git:remote -a PROJECTNAME
Karim Samir
fuente
4
¿Cómo se relaciona eso con bitbucket?
Laurent Michel