1. 程式人生 > >Gitlab+jenkins持續集成+自動化部署(三)

Gitlab+jenkins持續集成+自動化部署(三)

使用 key pair 插件 exec ast ota d+ sha2 ner

搭建gitlab+Jenkins自動化部署
在jenkins上安裝插件 Build Authorization Token Root Plugin、 Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、
在系統管理-->系統設置裏面找到Publish Over SSH 添加gitlab私鑰
技術分享圖片
在要部署代碼的服務器裏面生成私鑰及公鑰

[root@node2 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:skz81E/KWAZRvtZptH4kYwkQoUth0kfP5jGoAyYPdA0 root@node2
The key‘s randomart image is:
+---[RSA 2048]----+
|  . E+o.*+.      |
| . . ooo.B       |
|  o o o.o O .    |
|   = + o = B +   |
|    . B S B @ .  |
|     o * * B +   |
|      o o o o .  |
|             .   |
|                 |
+----[SHA256]-----+
在./ssh文件中將公鑰復制到authorized_keys文件中
[root@node2 .ssh]# cat id_rsa.pub >> authorized_keys

技術分享圖片
點擊高級 將要部署代碼的服務器用戶私鑰復制到下面Key裏面
技術分享圖片
在jenkins生成身份驗證令牌
技術分享圖片
[root@node2 ~]# openssl rand -hex 12
414459b49acb463d9ebea02e
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

此時去gitlab裏面配置鉤子
插件使用介紹,https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin
http://jenkins服務器地址:8080/buildByToken/build?job=項目名&token=token值
我填寫的:
http://192.168.1.215:8080/buildByToken/build?job=test&token=414459b49acb463d9ebea02e

技術分享圖片
如果出現下面錯誤 不允許向本地網絡發出請求,這是因為在本地網絡配置的
技術分享圖片
解決方法:
技術分享圖片
點擊測試
技術分享圖片
出現HTTP 201則成功
Hook executed successfully: HTTP 201
然後就可以測試了,在Git客戶端提交代碼到gitlab服務端,就可以看到jenkins自動構建代碼
然後就可以刷新網頁查看是否更新

[root@node1 test]# cat index.html 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<h1>Gitlab+Jenkins持續集成部署完成</h1> 
</body>
</html>
[root@node1 test]# git add *
[root@node1 test]# git commit -m "add index.html"
[master 6ecccfe] add index.html
 1 file changed, 1 insertion(+), 3 deletions(-)
[root@node1 test]# git push origin master
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 415 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:root/test.git
   93847ef..6ecccfe  master -> master

查看控制臺輸出,看到Finished: SUCCESS
表示成功
技術分享圖片
查看部署的服務器網站
技術分享圖片
如果發現網站是空的
解決辦法: 前提不建議怎麽做,因為後期可能會出現問題,希望你查找原因或者重新配置一下構建!!!
技術分享圖片
刪除剛才構建的步驟
技術分享圖片

Gitlab+jenkins持續集成+自動化部署(三)