창고 관리 Gitlab는 로컬 저장소 gitlab 클론웨어 하우스를 밀어

 

 

원격 저장소 gitlab 푸시 로컬 창고

푸시 실현 및 SSH 인증을 할 gitlab 먼저 사이의 지역 창고

 

구성 SSHKEY

우리는 이미 GitLab웨어 하우스를 만들었습니다, 우리는 우리의 창고 클라이언트에 연결하는 방법에 대해 설명 옆에 권한을 사용자가 우리의 모든 작업은 웹 페이지에서 실시하고, 창고를 사용할 수 있습니다.

우리의 창고, 개인, 인증 된 사용자 만, 클라이언트가 GitLab에 창고에 액세스 할 수있는 한 클라이언트의 사용자와 우리의 사용자 GitLab 구속력, 저장소에 접근 할 수있다

다음과 같이 우리는 사용자의 특정 구성에 연결된 클라이언트 Gitlab에 대한 SSH를 사용하는 것이 좋습니다 것은 :


쉿 클라이언트는 (주 윈도우 클라이언트가 암호화 RSA를 사용할 수 있습니다) 키 쌍을 생성합니다 :

우리의 로컬 클라이언트는 공개 키, 해당 사용자 SSH 키 gitlab에 할당 된 공개 키를 생성

 

[루트 @ CI-노드 1 ~] # 개의 SSH-Keygen은 - t RSA는 
생성 공용 / 개인 RSA 키 쌍입니다. 
입력 파일  에서  (. / 루트 / 키를 저장하는 SSH / : id_rsa_gsg_keypair를) 
만든 디렉토리 ' /root/.ssh을 ' . 
(빈 암호를 입력 하기위한 어떠한 암호) : 
다시 같은 암호를 입력 : 
귀하의 식별을 저장 한  / 루트 /. SSH / id_rsa_gsg_keypair를. 
귀하의 공개 키가 저장된 에서 / / 루트. SSH / id_rsa.pub. 
키 지문은 다음과 같습니다 :
SHA256 : dKgV7ndo1haY4XeUseN / yjj7 / 2AWNH1wC2GpK / fLfuY 루트 @ C1 내지 노드 1 
의 핵심 ' 의 randomart 이미지는 다음과 같습니다 
+ --- [RSA 2048 ] ---- + 
| . . + * 오. | 
| . + + .oo =. | 
| = = + * .o 인 | 
| =. = = 오. | 
| . S = O | 
| = = O | 
| 오. + O | 
| O * =. | 
| + BOE + | 
+ ---- [SHA256] + -----

 

 

[루트 @ CI-노드 1 ~] # 게요. SSH / 8 
-rw ------- 1 루트 루트 1,679 삼월 29  17 : 55 id_rsa_gsg_keypair를
 -rw-R - r--로 1 루트 루트   395 삼월 29  17 : 55 id_rsa.pub

 

[루트 @ CI-노드 1 ~] # 개 고양이 . SSH / id_rsa.pub 
 ssh를 -rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCstYVepXE4 / B85nKNU6gaVpPsjGXu6Ql2sKRgRDxsHGmuZVg + q0GD3c0Ml2XkzozswTRuKCcIhZjK / DEGbbgsBEH8q6HHrWCP6vAWb + 7wIEvhtJVm6 + 5zOGA / AorFczEgnm9b2ekPkwAMV7qrOQ1KG9S94U + XRwAtjgNV0MuYx5S0liBr9KBEt8pQ7Fd2TMo95rF3328gGnWLZJWmETjtJaWpLKDgWnQ7BdlK89o6eyYBtdKJfZ5uYM3tgeX8GiRA + daR8fpEruOSpjuvRbyjRStf5ZXPIemL46lXcEDYurnQ4Uucv5F + paqTWnzYHziQOoKd3Jnxgqsh24TZeoEDP 루트 @ CI-노드 1

 

우리는, 루트 사용자와 GitLab가 구속력이 참조하는 사용자의 공개 키를 복사, 메인 페이지의 사용자 설정 GitLab 클릭

 

 

, 사용자 설정 페이지를 입력 왼쪽 메뉴 바 SSH 키를 클릭

 

 

관리 페이지에 SSH 열쇠

 

 

 

개인 키 시스템 오류를 추가하면 GitLab 한 번만 시스템에 추가를 통해 공개 키는 단지 대중에게뿐만 아니라, 여기에 추가 할 수 있지만, GitLab 사용자는 더 대중 추가 할 수 있습니다.

 

 

 

 완료 구성, 로컬 클라이언트와 인증이 완료 gitlab

 

로컬 클라이언트에 창고를 밀어 GitLab

원격 저장소 gitlab 로컬 창고 밀어 git_test 창고 git_test 갖는다

우선 우리는 CI-노드 1 원격 저장소에 GitLab 구성 git_test웨어 하우스에 git_test 창고로 원하는,

 그를 위해 원격 저장소 구성

 

 

 

[루트 @ CI-git_test 노드 1] 이동 이동 gitlab 원격 요지 @ # 192.168 . 31.11 : 테스트 / git_test.git 
[루트 @ CI - 노드 1 git_test] # 이동 원격 
gitlab

둘째, 자식 푸시 명령을 사용하여 직접 원격웨어 하우스 로컬 마스터 분기 밀어

[루트 @ CI-git_test 노드 1] # 개의 자식 푸시 - U 마스터 gitlab 
호스트의 인증 " 192.168.31.11 (192.168.31.11)를 "" t가 설정 될 수있다. 
ECDSA 키 지문은 SHA256이다 Eal3aUwcGcxH1ZD9X799taSiGiCMFgAE7rnoY74f25U. 
: ECDSA 키 지문 MD5이며 27 : 41 : 0F : 5A : 4C : BA : 8F : 23 : BD : 23 : 44 : 8D : 18 : 53 : E6 : 30 . 
당신은 (예 당신이 연결 계속 하시겠습니까 없습니다 / 아니오)? 
경고 : 영구적으로 추가 ' 192.168.31.11을 '알려진 호스트의 목록 (ECDSA). 
객체를 계산 : 30 , . 
객체를 압축 : (100) %에 ( (18) / (18) ) . 
객체 작성 : (100) % ( (30) / (30) ), 2.50 킬로바이트를 | 0 바이트 / s의 수행 . 30 (델타 2 ), 재사용 0 (델타 0 ) 192.168 . 31.11 : 시험 / git_test.git
  * 새로운 지점] 마스터 ->마스터 
지점 마스터는 gitlab에서 원격 지사 마스터를 추적하기 위해 설정합니다.

팁 푸시 기능은 우리 GitLab에 git_test 창고, 당신은, 우리가 컨텐츠를 밀어 볼 수 있습니다 

 

 인증은 이제 로컬 및 원격 gitlab웨어 하우스의 통합을 가능하게, 정확, 창고는 밀어 수 있습니다

 

로컬 클라이언트에 복제 GitLab웨어 하우스

우리는 다른 컴퓨터에 복제 gitlab 창고를 원하는

우리는 다른 컴퓨터에 자식 CI-노드 2 서비스를 설치

참조 원본 설치이 게시물을 이눔

https://www.cnblogs.com/mingerlcm/p/11403126.html

 

자식 자식 구성 글로벌 구성 사서함 이름을 설치 한 후

https://www.cnblogs.com/mingerlcm/p/11403274.html

 

CI-노드 2의 ssh 클라이언트가 공개 키 인증을 생성하기 위해 ssh를 할

[루트 @ CI-노드 2 ~] # 개의 SSH-Keygen은 - t RSA는 
생성 공용 / 개인 RSA 키 쌍입니다. 
입력 파일  에서  (. / 루트 / 키를 저장하는 SSH / : id_rsa_gsg_keypair를) 
만든 디렉토리 ' /root/.ssh을 ' . 
(빈 암호를 입력 하기위한 어떠한 암호) : 
다시 같은 암호를 입력 : 
귀하의 식별을 저장 한  / 루트 /. SSH / id_rsa_gsg_keypair를. 
귀하의 공개 키가 저장된 에서 / / 루트. SSH / id_rsa.pub. 
키 지문은 다음과 같습니다 :
SHA256 : pCb3ozG5sS3ZrnkDUsLTD5RTSule2QxE6oCcmAlzKTU 루트 @ CI - 노드 2 
의 핵심 ' 의 randomart 이미지는 다음과 같습니다 
+ --- [RSA 2048 ] ---- + 
| OE * + |. 
| OB + = 오... | 
| + + ... + O .. =. | 
| + O = O OO | 
| . == + S | 
| . + OO. | 
| . = + O | 
| OX +. | 
| * = O. | 
+ ---- [SHA256] + -----

 

gitlab에 공개 키 구성

 

 

[루트 @ CI-노드 2 ~] # 게요. SSH / 8 
-rw ------- 1 루트 루트 1,675 삼월 29  23 : 39 id_rsa_gsg_keypair를
 -rw-R - r--로 1 루트 루트   395 삼월 29  23 : 39 id_rsa.pub

 

 

 

첫째, 우리는 CI-노드 2 클라이언트와 사용자 GitLab dev에 바인딩 구성

 CI는-노드 2 클라이언트의 공개 키 사용자 디바이스 바인딩 gitlab로 구성

 

사용자 로그인 DEV

 

 

 gitlab 먼저 로그인 dev에 사용자가 기본 암호를 변경해야 할 필요

 

 

 CI는-노드 2 클라이언트의 공개 키 사용자 디바이스 바인딩 gitlab로 구성

 

 

 

 

 

 이제 인증이 완료되었습니다

둘째, 지역 CI-노드 2에 창고 자식 복제 명령을 복제

[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 分支

 

 

 

추천

출처www.cnblogs.com/mingerlcm/p/12593873.html