1.1.1 獲取Gitlab的Access Token
l 登錄Gitlab,選擇ProfileràSetting,如下圖
l 生成Access Token,如下圖
複製Access Token,以便下一步使用
1.1.2 Jenkins配置Gitlab的憑證
l 登錄Jenkins,選擇系統管理à系統設置àGitlabà添加à輸入上一步所獲取的AccessToken,如下圖配置
l 單擊“TestConnection”,測試連通性
1.1.3 創建Jenkins用戶的SSH訪問Key
由於jenkins執行腳本的使用使用的是jenkins這個賬號,所以公鑰私鑰需要放在此用戶的目錄裡。
l 由於此賬號是一個不允許登錄且修改了home目錄的賬號,所以需要先執行 vi /etc/passwd 查看一下jenkins賬號的home目錄,在裡邊找到jenkins這個賬號其中紅框部分為他的home目錄
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 # 查看文件
如果沒有 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應該看到如下內容
1.1.4 GitLab添加公鑰
l 打開 id_rsa.pub 將其中內容複製到記事本中,然後再copy到git服務器上
Cat id_rsa.pub
l 訪問gitlab將剛才生成的公鑰添加到ssh keys中
1.1.5 Jenkins添加私鑰
l 打開 id_rsa將其中內容複製到記事本中
Cat id_rsa
l 訪問jenkins將剛才生成的私鑰添加到憑證中
1.1.6 Jenkins創建項目
l 在Jenkins中新建項目
l 配置項目,連接Gitlab