Espejo github a Gitlab

Respuestas:

6

¡GitLab ahora tiene esta característica incorporada!
Desde GitLab EE 8.2 es compatible . ¡Hurra!

Tirando de un repositorio remoto

Puede configurar un repositorio para que sus ramas, etiquetas y confirmaciones se actualicen automáticamente desde un repositorio ascendente.
...

Al crear un nuevo proyecto, puede habilitar la duplicación del repositorio cuando elija importar el repositorio desde "Cualquier repositorio por URL". Ingrese la URL completa del repositorio Git para extraer y haga clic en la casilla de verificación Repositorio espejo .

Reflejo automático de GitLab

Para un proyecto existente, puede configurar la extracción de espejo visitando la Configuración ➔ Repositorio de su proyecto y buscando la sección "Extracción desde un repositorio remoto". Marca la casilla "Repositorio espejo" y presiona Guardar cambios en la parte inferior.
...

arieljannai
fuente
1
Su ejemplo usa gitlab, lo seguí exactamente, excepto que reemplacé esa parte con Github, y la actualización nunca termina ...
MarcusJ
@MarcusJ Exactamente lo mismo aquí, ¿encontraste una solución?
MemphiZ
Ha pasado un tiempo desde que tuve que hacer esto, pero creo que lo que hice fue usar la URL de ssh en el formato de ssh: //[email protected]: UserName: RepoName.git
MarcusJ
Acabo de hacer que esto funcione, pasar de github a gitlab es fácil si su repositorio es público, simplemente pegue esta URL en la configuración de gitlab:, https://github.com/yourGithubUserName/repoName.gitluego elija el método de contraseña en el cuadro combinado y deje el cuadro de texto de contraseña en blanco
toque el
4

Si nunca necesita confirmaciones locales, la siguiente receta funcionará:

Clonar el repositorio con --mirror:

git clone --mirror https://github.com/openstack/nova.git

Luego, en un cronjob, haces esto para una actualización por hora:

0 * * * * cd /path/to/nova.git && git fetch

Los --mirrorconjuntos hasta los refspecs de tal manera que las recuperaciones posteriores se actualizará todos los árbitros locales, por lo que no es necesario para combinar los cambios. Por supuesto que sí significa que compromete empujados a la cesión temporal se pierden.

Dennis Kaarsemaker
fuente
Esto no parece responder la pregunta, que es obtener un espejo en GitLab.
Ken Williams
0

Crear un trabajo cron para actualizar el repositorio

Drew Khoury
fuente
¿Cómo configurar en gitlab?
user186107
2
Actualice su pregunta con los detalles que necesita, lo que ha intentado y cuál es el problema exacto.
Drew Khoury
0

Puede hacer esto usando trabajos cron .

En su terminal, escriba crontab -e(para editar su crontab) y agregue una nueva línea en la parte inferior con lo siguiente.

* 0 * * * git clone ssh://username@hostname:port/repo

Ejecutará un clon todos los días a medianoche.

Sohan
fuente
Espero que sea actualizaciones incrementales. No es necesario descargar todo de nuevo.
user186107