持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

一、整體流程

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

二、Jenkins 配置

2.1、首先安裝插件

  • Gitlab Hook Plugin
  • GitLab Plugin
  • Publish Over SSH

2.2、配置目標服務器

系統管理 ---> 系統設置 ---> Publish over SSH

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

如果不想使用密鑰認證登陸,也可以使用 賬戶密碼登陸。

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

2.3、創建 job

我們創建一個自由風格的 job,配置好 git 源,這裏也可以配置無密鑰登陸,我這裏使用賬戶密碼。

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

創建觸發器,用於自動構建,我們需要把其中的 url 添加到我們的 gitlab 上面,提交代碼,可以觸發構建,稍後演示。

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

填寫構建內容。

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

2.4、配置 gitlab 觸發

gitlab 的 webhooks url 是根據 jenkins 構建權限連接設置的,如果必須登錄才能構建就必須獲取 jenkins 的用戶名及token,可以在jenkins用戶--->設置裏面查看到 ,url格式:

http://<username>:<api-token>@<jenkins-server>/

首先去生成 token。

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

然後我的觸發URL如下:

http://user:[email protected]/jenkins/project/banana.xxxxxx.net

最後測試一下,看看是不是正確。

如果沒有添加用戶信息認證,可能會報下面的錯誤:

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

三、改進

既然我們是純靜態的文件,不需要構建,爲啥不直接傳遞命令,在服務器上面 git 的呢,這樣速度更快,之前還需要把代碼從源倉庫拉下來,然後整個傳到相應的目錄下面,過程比較慢。

我們調整 Job 去掉源,然後把構建項目修改爲如下:

持續集成 Jenkins +Gitlab + SSH 自動發佈 HTML 代碼

如果大家使用 http 協議的 git 拉取代碼,會每次讓輸入賬號密碼,我們可以使用下面命令對認證信息進行保存:

git config --global credential.helper store
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章