2012-03-13 31 views
5

Tenga en cuenta que este es el artículo original que he estado siguiendo, junto con:
http://www.markdotto.com/2011/11/02/how-to-deploy-sites-via-github/tema de la clonación GitHub repo privada en servidor remoto

para darle un poco de historia: Tenemos un acuerdo de recompra privada puesta a punto bajo una cuenta de organización Tenemos tres desarrolladores (yo incluido) que tienen nuestras propias cuentas con GitHub y tienen derechos de administrador para el repositorio privado.

Mientras trabajamos en el proyecto, clonamos el repositorio y luego creamos una rama 'dev'. Todos trabajamos desde nuestra propia rama de desarrollo e impulsamos cambios a la rama 'dev' en GitHub.

Queremos obtener esta rama de desarrollo en nuestro servidor remoto para que podamos probar el código combinado funciona antes de fusionarlo en nuestra rama principal (que debe estar limpia/siempre desplegable).

Desde aquí estamos siguiendo los pasos artículo anterior, que es para conectar a nuestro servidor a través de SSH, vaya al directorio correspondiente en nuestra página web se encuentra alojado y ejecutar el siguiente comando ...

git clone [email protected]:ORGANISATION/REPO.git dev

el primer problema que tuvimos fue nuestro servidor devuelve el mensaje ...

Cloning into dev... 
ssh: connect to host github.com port 22: Connection refused 
fatal: The remote end hung up unexpectedly 

... donde tendría que esperar a que nos pida una contraseña?

Así que en vez probamos el URL http ...

git clone https://[email protected]/ORGANISATION/REPO.git dev

... Notarás la URL HTTP utiliza mi propio nombre de usuario ahora cuando se clona. Entro en mi contraseña y se muestra Cloning into dev... pero luego se muestra el siguiente error ...

error: SSL certificate problem, verify that the CA cert is OK. Details: 
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://[email protected]/StormCreative/MoneyRepublic.com.git/info/refs 
fatal: HTTP request failed 

... No entiendo el error.

Entonces, ¿cómo clonamos este repositorio privado en nuestro servidor?

Cualquier ayuda apreciada!

Saludos cordiales, Marcar

+0

posible duplicado de [HTTPS github access] (http://stackoverflow.com/questions/3777075/https-github-access) – ralphtheninja

Respuesta

10

La primera cuestión que ocurre debido a que no tiene la clave RSA local, vinculada a su cuenta en GitHub (y sí, vincular la clave RSA a su cuenta, y la organización es vinculado a su cuenta también).

En la máquina local (o servidor remoto) en el que está tratando de clonar el repositorio, es necesario generar una clave RSA:

ssh-keygen -t rsa 

Cuando se está generando la clave, elige una contraseña y una colocar para almacenar el archivo id_rsa.pub, que en realidad contiene la clave.

En GitHub, debe agregar esta clave, el contenido exacto de id_rsa.pub, a sus claves ssh en el panel de administración de su cuenta.

+0

gracias por la respuesta. Intenté generar un SSH usando el comando 'ssh-keygen -t rsa -C" my-github-email-account "' y después de esto pregunté "Ingresar archivo para guardar la clave (/root/.ssh/id_rsa): "Puse" github_mark "y luego ingresé una frase de contraseña (dos veces). ¿Pero no puedo encontrar los datos de la clave SSH que necesito copiar para poder agregarlos a la página https://github.com/settings/profile#ssh_bucket de GitHub? – Integralist

+0

También asumo que '/ root/.ssh/id_rsa' puede contener varias claves, por lo que pude ingresar un nombre de' github_mark' antes de ingresar la frase de contraseña. – Integralist

+0

Es por eso que recomiendan que no escriba nada en la parte "Ingresar archivo en el que guardar la clave (/root/.ssh/id_rsa)". Simplemente presiona enter, elige la contraseña y la clave pública estará en esa ruta exacta (/root/.ssh/id_rsa). –

0

No estoy seguro si puedo ayudarlo con el error que me parece un problema de SSL. Pero puedo sugerirte otro enfoque.Despliegue mi blog a mi servidor de esta manera:

  • He creado un git repo en el servidor llamado deploy.
  • He agregado este repositorio de implementación como control remoto a mi repositorio local.
  • Impulso los cambios a este repositorio cuando quiero implementar.
  • Dentro de mi deploy repo configuré un gancho post-recepción para que cada vez que se realicen cambios se clone automáticamente el repositorio en el servidor dentro del directorio de hosts de Apache que sirve la última versión de mi sitio web.

Puedo proporcionarle la esencia de mi gancho post-recepción si lo necesita. Si su sitio web está en vías, puede usar Capistrano para la implementación.

edición: aquí está mi posterior a recibir el gancho

GIT_REPO=$HOME/aliirz.git 
PUBLIC_WWW=/var/www/myrepo 

git clone $GIT_REPO $PUBLIC_WWW 
exit 

Saludos

edición: La respuesta de drgomesp anterior es totalmente la solución. Me salté por la mente que necesitas tus llaves SSH para estar conectado con Github.

+0

gracias por los comentarios. Estoy esperando recibir retroalimentación de @drgomesp, así que sí, me gustaría ver ese enlace posterior a la recepción, ya que eso podría ayudar también. – Integralist

+0

Sí, por favor, si pudiera enviar su anzuelo post-recepción ya que parece que la solución de drgomesp no está funcionando en este momento (vea nuestra discusión) – Integralist

Cuestiones relacionadas