El almacén local de empujado al repositorio remoto gitlab
Push-realización y un almacén local entre primero que gitlab hacer la autenticación SSH
configuración SSHKEY
Ya hemos creado GitLab almacén, y los usuarios autorizados pueden utilizar el almacén, todas nuestras operaciones se llevan a cabo en la página web, junto describimos cómo conectarse a nuestro cliente del almacén.
Nuestro almacén se encuentra, usuarios privados autorizados puedan acceder al repositorio, siempre y cuando el usuario del cliente y nuestro usuario unión GitLab, los clientes pueden acceder al almacén en el GitLab,
Recomendamos el uso de SSH para el cliente Gitlab atado a la configuración específica del usuario es la siguiente:
cliente ssh genera el par de claves (cliente ventanas de notas puede utilizar el cifrado RSA):
Nuestro cliente local genera una clave pública, la clave pública asignada a gitlab clave del usuario correspondiente ssh
[root @ ci-nodo1 ~] # ssh-keygen - t RSA pública Generación / par de claves RSA privada. Introduzca el archivo en el que guardar la clave (/ root /. Ssh / id_rsa): ha creado un directorio ' /root/.ssh ' . Introduzca la frase de contraseña (vacío para ninguna frase de contraseña): Introduzca misma frase de contraseña nuevamente: Su identificación se ha ahorrado en / root /. ssh / id_rsa. La clave pública se ha guardado en / root /. ssh / id_rsa.pub. La huella de la clave es: SHA256: dKgV7ndo1haY4XeUseN / yjj7 / 2AWNH1wC2GpK / root @ fLfuY ci- nodo1 La clave ' imagen randomart s es: + --- [RSA 2048 ] ---- + | . . + * o. | | . + + = .OO. | | = = + * .O | | =. = = O. | | . S = = O | | = = O | | o. + O | | o * =. | | BOE + + | + ---- [SHA256] ----- +
[root @ ci-nodo1 ~] # ll. ssh / total de 8 -rw ------- 1 root root 1679 Mar 29 17 : 55 id_rsa -rw-r - r-- 1 root root 395 Mar 29 17 : 55 id_rsa.pub
[root @ ci-nodo1 ~] # cat . ssh / id_rsa.pub ssh -rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCstYVepXE4 / B85nKNU6gaVpPsjGXu6Ql2sKRgRDxsHGmuZVg + q0GD3c0Ml2XkzozswTRuKCcIhZjK / DEGbbgsBEH8q6HHrWCP6vAWb + + 7wIEvhtJVm6 5zOGA / AorFczEgnm9b2ekPkwAMV7qrOQ1KG9S94U + + XRwAtjgNV0MuYx5S0liBr9KBEt8pQ7Fd2TMo95rF3328gGnWLZJWmETjtJaWpLKDgWnQ7BdlK89o6eyYBtdKJfZ5uYM3tgeX8GiRA daR8fpEruOSpjuvRbyjRStf5ZXPIemL46lXcEDYurnQ4Uucv5F + paqTWnzYHziQOoKd3Jnxgqsh24TZeoEDP root @ ci-nodo1
Nos referimos a esto como usuario root y vinculante GitLab, copiar la clave pública del usuario, haga clic en la página principal de configuración de usuario GitLab
Entre en la página Configuración de usuario, haga clic en el menú izquierdo CLAVES barra de SSH
Claves SSH en la página de administración
La clave pública sólo puede añadir aquí, si se agrega el error del sistema de clave privada, además de un público a lo largo GitLab añade al sistema una sola vez, pero un usuario puede añadir más GitLab pública.
gitlab la configuración de acabado, el cliente local y la autenticación se ha completado
Empuje el almacén al cliente local GitLab
El almacén git_test empujado al almacén local de gitlab repositorio remoto tiene git_test
En primer lugar queremos almacén git_test en GitLab almacén de configuración git_test en el repositorio remoto ci-nodo 1,
Configuración de un repositorio remoto para él
[Root @ ci-git_test nodo1] # @ dir remota Go Go gitlab 192.168 . 31.11 : Prueba / git_test.git [root @ ci - nodo1 git_test] remota # Ir gitlab
En segundo lugar, usando el comando git push empujar directamente la rama maestro local al almacén del almacén remoto
[root @ ci-nodo1 git_test] # git push - u gitlab dominar la autenticidad de acogida ' 192.168.31.11 (192.168.31.11) ' puede ' se establecerá t. ECDSA huella de la clave es SHA256: Eal3aUwcGcxH1ZD9X799taSiGiCMFgAE7rnoY74f25U. ECDSA huella de la clave es MD5: 27 : 41 : 0F: 5a: 4c: ba: 8F: 23 : BD: 23 : 44 : 8d: 18 : 53 : e6: 30 . ¿Seguro que desea continuar con la conexión (sí / no)? Sí Advertencia: se ha añadido de forma permanente ' 192.168.31.11 '(ECDSA) a la lista de ordenadores conocidos. Contar objetos: 30 , hecho . La compresión de los objetos: 100 % ( 18 / 18 ), hecho . Escritura de objetos: 100 % ( 30 de / 30 de ), 2.50 KiB | 0 bytes / s, hecho . Total 30 (delta 2 ), reutilizado 0 (delta 0 ) Para 192.168 . 31.11 : Prueba / git_test.git * [nueva rama] master ->maestro principal rama configurado para realizar un seguimiento de la rama principal remoto desde gitlab.
función de pulsador de punta, que git_test almacén en GitLab, se puede ver a empujar hacia arriba el contenido,
La certificación es correcta, ahora permite la integración de almacén gitlab local y remoto, el almacén puede empujar hacia arriba
Clonación GitLab almacén al cliente local
Queremos almacén gitlab clonado en otra máquina
Instalamos servicio ci-nodo2 git en otra máquina
Instalación fuente de referencia GIT este post
https://www.cnblogs.com/mingerlcm/p/11403126.html
Después de instalar la configuración git nombre del buzón de configuración global
https://www.cnblogs.com/mingerlcm/p/11403274.html
ci-nodo2 cliente ssh para generar un certificado de clave pública hacer ssh
[root @ ci-nodo2 ~] # ssh-keygen - t RSA pública Generación / par de claves RSA privada. Introduzca el archivo en el que guardar la clave (/ root /. Ssh / id_rsa): ha creado un directorio ' /root/.ssh ' . Introduzca la frase de contraseña (vacío para ninguna frase de contraseña): Introduzca misma frase de contraseña nuevamente: Su identificación se ha ahorrado en / root /. ssh / id_rsa. La clave pública se ha guardado en / root /. ssh / id_rsa.pub. La huella de la clave es: SHA256: root @ pCb3ozG5sS3ZrnkDUsLTD5RTSule2QxE6oCcmAlzKTU ci - nodo2 La clave ' imagen randomart s es: + --- [RSA 2048 ] ---- + | OE + |. | OB + = o... | | + + + .. O .. =. | | + o = oo o | | . == + S | | . + oo. | | . = + o | | oX +. | | * = o. | + ---- [SHA256] ----- +
La configuración de clave pública para gitlab
[root @ ci-nodo2 ~] # ll. ssh / total de 8 -rw ------- 1 root root 1675 Mar 29 23 : 39 id_rsa -rw-r - r-- 1 root root 395 Mar 29 23 : 39 id_rsa.pub
En primer lugar, configurar el cliente ci-nodo 2 y el usuario GitLab dev vinculante,
Ci-nodo2 clave pública del cliente configurado para la unión gitlab dev usuario
dev Iniciar sesión de usuario
gitlab requiere que los usuarios de inicio de sesión primeros dev necesitan cambiar la contraseña por defecto
Ci-nodo2 clave pública del cliente configurado para la unión gitlab dev usuario
Ahora certificación se ha hecho
En segundo lugar, la clonación de comandos clon de git almacén a la ci-nodo2 locales
[root@ci-node2 data]# git clone git@192.168.31.11:test/git_test.git Cloning into 'git_test'... The authenticity of host '192.168.31.11 (192.168.31.11)' can't be established. ECDSA key fingerprint is SHA256:Eal3aUwcGcxH1ZD9X799taSiGiCMFgAE7rnoY74f25U. ECDSA key fingerprint is MD5:27:41:0f:5a:4c:ba:8f:23:bd:23:44:8d:18:53:e6:30. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.31.11' (ECDSA) to the list of known hosts. remote: Counting objects: 30, done. remote: Compressing objects: 100% (18/18), done. remote: Total 30 (delta 2), reused 0 (delta 0) Receiving objects: 100% (30/30), done. Resolving deltas: 100% (2/2), done. Checking connectivity... done.
我们可以看到已经将 GitLab 上的 git_test 仓库克隆到了 ci-node2 本地,同时为本地仓库添加了一个指向 GitLab 上 git_test 仓库的远程仓库。
执行git clone时候,会默认会仓库添加一个默认的远程仓库 就是gitlab
[root@ci-node2 data]# ll git_test/ total 4 -rw-r--r-- 1 root root 21 Mar 29 23:55 a -rw-r--r-- 1 root root 0 Mar 29 23:55 master -rw-r--r-- 1 root root 0 Mar 29 23:55 test [root@ci-node2 data]# cd git_test/ [root@ci-node2 git_test]# [root@ci-node2 git_test]# git remote origin
我们 ci-node2 的 git_test 上创建一个 dev 分支,并将 dev 分支,推送到 GitLab 上:
验证是否默认远程仓库 是否是gitlab
建立dev分支
// 建立dev分支 [root@ci-node2 git_test]# git branch dev // 切换到dev分支 [root@ci-node2 git_test]# git checkout dev Switched to branch 'dev'
在dev分支,创建一个文件
[root@ci-node2 git_test]# touch dev
提交commit,需要先配置git全局配置
[root@ci-node2 git_test]# git add . [root@ci-node2 git_test]# git commit -m "commit dev on dev branch" [dev a0e7b8d] commit dev on dev branch 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dev
把dev分支推到gitlab
[root@ci-node2 git_test]# git status On branch dev nothing to commit, working tree clean [root@ci-node2 git_test]# git push -u origin dev Counting objects: 2, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 227 bytes | 0 bytes/s, done. Total 2 (delta 1), reused 0 (delta 0) remote: remote: To create a merge request for dev, visit: remote: http://192.168.31.11/test/git_test/merge_requests/new?merge_request%5Bsource_branch%5D=dev remote: To 192.168.31.11:test/git_test.git * [new branch] dev -> dev Branch dev set up to track remote branch dev from origin.
完成后,我们在 GitLab 上可以看到我们刚推上来的 dev 分支