Cómo vincular una carpeta con una aplicación Heroku existente

848

Tengo una aplicación Rails existente en GitHub y la implementé en Heroku. Estoy intentando configurar una nueva máquina de desarrollo y he clonado el proyecto desde mi repositorio de GitHub. Sin embargo, estoy confundido sobre cómo vincular esta carpeta a Heroku. Originalmente, usé el heroku createcomando, pero obviamente no quiero hacer eso esta vez ya que creará otra instancia de Heroku.

0
1294

Heroku vincula sus proyectos en función del herokucontrol remoto de git (y algunas otras opciones, consulte la actualización a continuación). Para agregar su control remoto Heroku como control remoto en su repositorio actual, use el siguiente comando:

git remote add heroku [email protected]:project.git

donde projectes el nombre de su proyecto Heroku (el mismo que el project.heroku.comsubdominio). Una vez que lo haya hecho, puede usar los heroku xxxxcomandos (asumiendo que tiene Heroku Toolbelt instalado) y puede presionar a Heroku como de costumbre a través de git push heroku master. Como atajo, si está usando la herramienta de línea de comando, puede escribir:

heroku git:remote -a project

donde, nuevamente, projectestá el nombre de su proyecto Heroku (gracias, Coronel Panic ). Puedes nombrar el control remoto de Git como quieras pasando -r remote_name.

[Actualizar]

Como lo mencionó Ben en los comentarios, el control remoto no necesita ser nombrado herokupara que los comandos de gemas funcionen. Revisé la fuente y parece que funciona así:

  1. Si especifica un nombre de aplicación a través de la --appopción (por ejemplo heroku info --app myapp), utilizará esa aplicación.
  2. Si especifica un nombre remoto de Git a través de la --remoteopción (por ejemplo heroku info --remote production), usará la aplicación asociada con ese control remoto de Git.
  3. Si no especifica ninguna opción y lo ha heroku.remoteconfigurado en su archivo de configuración de Git, usará la aplicación asociada con ese control remoto (por ejemplo, para configurar el control remoto predeterminado para el uso de "producción" git config heroku.remote productionen su repositorio, y Heroku se ejecutará git config heroku.remotepara leer el valor de este escenario)
  4. Si no especifica ninguna opción, la gema no encuentra ninguna configuración en su .git/configarchivo, y la gema solo encuentra un control remoto en sus controles remotos Git que tiene "heroku.com" en la URL, usará ese control remoto.
  5. Si ninguno de estos funciona, genera un error que le indica que pase --appa su comando.
11
  • El enlace a "la fuente", arriba, no funciona. Tal vez pruebe esta página: devcenter.heroku.com/articles/using-the-cli , aunque creo que el documento no es suficiente. Purplejacket 31/08/11 a las 19:03
  • 1
    Si intentas usar el heroku git:remotemétodo, verifica que estás usando heroku toolbelt cli y que no tienes ninguna gema heroku todavía instalada en tu sistema (parece que no funcionó para mí con las gemas antiguas). Pierre-Adrien 11 de enero de 2013 a las 10:47
  • 3
    Además, para múltiples ramas de heroku, puede usar $ git config heroku.remote <appname>para configurar la aplicación predeterminada para que pueda usar los comandos de terminal para esa aplicación. Sheharyar 18/07/2013 a las 16:27
  • 1
    si usa http, es decir, heroku loginentonces el control remoto tiene la formahttps://git.heroku.com/project-name.gitmax pleaner 11/08/2016 a las 0:33
  • 2
    Nota: Heroku ahora lo describe en la descripción general del proyecto: navegue a dashboard.heroku.com , haga clic en su aplicación, luego cambie a la pestaña "implementar" y elija el método de implementación "Heroku git" (seleccionado de forma predeterminada). Luego, obtendrá instrucciones sobre cómo conectar una carpeta / git existente con Heroku. handy 13 abr.20 a las 8:30
237

La CLI de Heroku tiene un atajo fácil para esto. Para una aplicación llamada 'Falling-Wind-1624':

$ heroku git:remote -a falling-wind-1624
Git remote heroku added.

Ver https://devcenter.heroku.com/articles/git#creating-a-heroku-remote

3
  • 1
    ! Resource not foundGreen 28/07/2013 a las 22:10
  • 1
    Puedes nombrar el control remoto como quieras pasando-r other_remote_nameMasterScrat 4 de febrero de 2017 a las 14:35
  • 2
    Esta sigue siendo la forma correcta de hacerlo incluso si ha conectado su aplicación Heroku directamente a GitHub. Tenga en cuenta que no sobrescribirá su control remoto "origen"; en su lugar, crea un control remoto "heroku". Seth 8 de marzo de 2017 a las 1:32
147

No lo olvide, si también está en una máquina en la que no ha configurado heroku antes

heroku keys:add

O no podrá empujar o tirar al repositorio.

1
  • 4
    ¡Oh si! Eso también me ayudó. Tenía una aplicación en la que empezamos de forma básica y luego dividimos "heroku" en "puesta en escena" y "producción". Así que lo hice git remote add staging [email protected]:yy.gity git remote add production [email protected]:yy.git, pero eso no fue suficiente. Cuando intenté hacer git push staging master(o producir), obtenía "Permiso denegado (clave pública). Fatal: El extremo remoto colgó inesperadamente". Lo que solucionó ese error fue hacer lo heroku keys:addque menciona Ghoti. Purplejacket 31/08/11 a las 19:07
9

Dos cosas a tener en cuenta al configurar un nuevo sistema de implementación para una aplicación anterior

1. Para verificar el acceso de su aplicación a Heroku (especialmente la aplicación)

heroku apps

mostrará una lista de las aplicaciones a las que tiene acceso si lo configura por primera vez, probablemente necesite

heroku keys:add

2. Luego configura tu control remoto git

Para la aplicación Heroku ya creada, puede agregar fácilmente un control remoto a su repositorio local con el heroku git: remotecomando. Todo lo que necesita es el nombre de su aplicación Heroku:

heroku git:remote -a appName

también puede cambiar el nombre de sus controles remotos con el comando de cambio de nombre remoto de git:

git remote rename heroku heroku-dev(you desired app name)

luego puede usar el comando git remote para confirmar que se configuró un control remoto para su aplicación

 git remote -v
4

Usa el tenedor de heroku

  1. ¡Usa el nuevo comando "heroku fork"! ¡Copiará todo el entorno y tendrás que actualizar el repositorio de github después!

    heroku fork -a sourceapp targetapp
    
  2. Clonarlo localmente

    git clone [email protected]:youamazingapp.git
    
  3. Cree un nuevo repositorio en github y agréguelo

    git remote add origin https://github.com/yourname/your_repo.git
    
  4. Empuje en github

    git push origin master
    
3
heroku login 

git init

heroku git:remote -a app-name123

luego verifique el repositorio remoto:

git remote -v
2

Probablemente debería iniciar ssh-agent y agregar sus claves. Mira esto,

http://wordgraphs.com/post/5000/Heroku--Permission-denied--publickey---fatal--Could-not-read-from-remote-repository-

Me ayudó.

1

Tengo mi proyecto en github y heroku, para cargar un uso heroku:

heroku git:remote -a <project>

El doc es:

https://devcenter.heroku.com/articles/git

0

para repositorio existente

escriba en la terminal

$ heroku git: remoto -un ejemplo

ingrese la descripción de la imagen aquí