Gitlab+jenkins持續集成+自動化部署(三)
阿新 • • 發佈:2018-07-11
使用 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私鑰
在要部署代碼的服務器裏面生成私鑰及公鑰
在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持續集成+自動化部署(三)