Jenkins訪問Gitlab

1.1.1 獲取Gitlab的Access Token

l 登錄Gitlab,選擇ProfileràSetting,如下圖

Jenkins訪問Gitlab

l 生成Access Token,如下圖

Jenkins訪問Gitlab

複製Access Token,以便下一步使用

1.1.2 Jenkins配置Gitlab的憑證

l 登錄Jenkins,選擇系統管理à系統設置àGitlabà添加à輸入上一步所獲取的AccessToken,如下圖配置

Jenkins訪問Gitlab

Jenkins訪問Gitlab

l 單擊“TestConnection”,測試連通性

1.1.3 創建Jenkins用戶的SSH訪問Key

由於jenkins執行腳本的使用使用的是jenkins這個賬號,所以公鑰私鑰需要放在此用戶的目錄裡。

l 由於此賬號是一個不允許登錄且修改了home目錄的賬號,所以需要先執行 vi /etc/passwd 查看一下jenkins賬號的home目錄,在裡邊找到jenkins這個賬號其中紅框部分為他的home目錄

Jenkins訪問Gitlab

l 生成root(不是root其它賬號也可)賬號的sshkey

ssh-keygen -t rsa -C "[email protected]" -b 4096 # 生成公鑰私鑰,注意雙引號內是個助記符根據需要修改

cd /root/.ssh # 進入ssh目錄

git ls-remote -h ssh://[email protected]/cfwin/Com.Core.git HEAD # 連一下git服務器,生成known_hosts文件

ll # 查看文件

Jenkins訪問Gitlab

如果沒有 known_hosts 文件之後Jenkins發佈時會有如下錯誤 “Host key verification failed.”

l 進入jenkins目錄將剛才創建的sshkey複製過來並將所有者指到jenkins賬號

cd /var/lib/jenkins # 進入jenkins的home目錄

mkdir .ssh # 創建ssh目錄存放sshkey文件,如果存在會報錯

cd .ssh

cp /root/.ssh/* . # 將root賬號下的sshkey文件複製過來,此時如果執行ll看一下這兩個文件所有這應該是root

chgrp jenkins * # 將key文件的組改為jenkins

chown jenkins * # 將key文件的所有者改為jenkins

l 此時pwd再ll應該看到如下內容

Jenkins訪問Gitlab

1.1.4 GitLab添加公鑰

l 打開 id_rsa.pub 將其中內容複製到記事本中,然後再copy到git服務器上

Cat id_rsa.pub

Jenkins訪問Gitlab

l 訪問gitlab將剛才生成的公鑰添加到ssh keys中

Jenkins訪問Gitlab

1.1.5 Jenkins添加私鑰

l 打開 id_rsa將其中內容複製到記事本中

Cat id_rsa

Jenkins訪問Gitlab

l 訪問jenkins將剛才生成的私鑰添加到憑證中

Jenkins訪問Gitlab

1.1.6 Jenkins創建項目

l 在Jenkins中新建項目

Jenkins訪問Gitlab

l 配置項目,連接Gitlab

Jenkins訪問Gitlab


分享到:


相關文章: