linux服務器安裝jenkins自動部署php項目併發送郵箱通知

  1. 在Linux服務器上下載Jenkins
    下載地址:https://jenkins.io/zh/download/
    選擇你的服務器對應的版本,我的是centos6,選擇這個版本
    linux服務器安裝jenkins自動部署php項目併發送郵箱通知
    點擊進去:
    linux服務器安裝jenkins自動部署php項目併發送郵箱通知
    命令行官方已給出,依次執行以下命令行
    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    yum install jenkins

2.安裝java環境(官網說的需要的版本是java8或者是java11)
打開網站
http://www.oracle.com/technetwork/java/javase/downloads
選擇對應版本的JDK,點擊下載
linux服務器安裝jenkins自動部署php項目併發送郵箱通知

選擇對應的安裝包
linux服務器安裝jenkins自動部署php項目併發送郵箱通知
3.在服務器上usr目錄下創建java安裝目錄

cd /usr
mkdir java

4、將下載好的JDK文件copy到/usr/java目錄

cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/

5、解壓到當前目錄

tar -zxvf jdk-8u60-linux-x64.tar.gz

得到文件夾 重命名爲jdk

mv jdk1.8.0_60 jdk

6、編輯配置文件,配置環境變更

vim /etc/profile

添加如下內容:

JAVA_HOME=/usr/java/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

7、執行命令:

source /etc/profile

8、查看安裝情況

java -version
javac -version

java version “1.8.0_60″
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

9.打開終端進入到jenkins的下載目錄.
運行命令,下面的8080端口是jenkins的打開端口,可自己修改,注意自己的服務器的端口是開啓

java -jar jenkins.war --httpPort=8080

打開瀏覽器進入鏈接 http://localhost:8080.//此處換成你的服務器的ip
按照說明完成安裝jenkins.

10.檢查插件是否安裝並安裝插件

在通過Jenkins發佈php代碼之前,我們首先需要在Jenkins服務的web頁面上檢查一下 “Git plugin” 和 “Publish Over SSH” 兩個插件是否已安裝:

“系統管理” → “管理插件” → “已安裝”,然後搜索Git plugin看看是否已安裝,一般這個插件都是默認安裝的:

然後到 “可選插件” 裏安裝 Publish Over SSH 插件:
linux服務器安裝jenkins自動部署php項目併發送郵箱通知
11.配置密鑰認證
生成密鑰對後,首先把公鑰拷貝到服務器上去(多個服務器配置多個(需自行驗證)),也就是把公鑰的內容粘貼到 .ssh/authorized_keys 文件裏,和我們之前配置遠程登錄的密鑰驗證是一樣的。(一定要保存在authorized_keys文件中),設置authorized_keys文件的權限是600

chmod -R 600 authorized_keys

12.查看密鑰粘貼在jenkins配置中,點擊“系統管理” → “系統設置”,下拉頁面,大概在網頁的最下面可以找到 “Publish Over SSH”
注:Jenkins SSH Key 這一欄默認會使用Jenkins管理員admin賬戶的密碼,可以不填則設置爲空密碼。

linux服務器安裝jenkins自動部署php項目併發送郵箱通知
13.構建項目
以上我們配置完了插件以及遠程機器,現在就可以開始新建任務了:

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

  1. 配置項目名稱與描述:

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

  1. 配置遠程倉庫的地址:
    linux服務器安裝jenkins自動部署php項目併發送郵箱通知

    16.構建觸發器這一步比較關鍵,卡了好久,首先我們先去看看碼雲關於Webhook文檔(http://git.mydoc.io/?t=154711 ),我們要抓取研發push這個Webhook POST過來的數據,然後根據裏面內容關鍵字ref判斷是否爲開發分支,如果是開發分支,則讓Jenkins拉開發分支最新的代碼下來構建。所以圖四,勾選插件觸發器,給抓出來的數據起個變量名ref,抓取內容爲$.ref(看碼雲的文檔)。

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

好,稍微下來一點,我們只需要獲取POST數據,header和request不用理。接下來也很關鍵,定義過濾出來什麼字串才觸發這個任務。所以使用正則匹配,text爲匹配出什麼結果就觸發這個任務,於是我們填入剛纔抓取臨時存放的變量$ref,注意這裏不是原始數據的$.ref。

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

剩下就是告訴拉完代碼下來之後做什麼操作了,後面的文章會講到,這裏我就隨便輸出點東西了。

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

點擊保存之後,回到碼雲的項目管理頁面,填入URL

URL格式爲 http://有讀權限的用戶名:該用戶名密碼@jenkis地址/generic-webhook-trigger/invoke

http://jenkins的賬號:jenkins的密碼@123.***.***.***:8080/generic-webhook-trigger/invoke?token=testgit

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

 點擊測試,返回ok就說明接口能用了,如果返回如下,則用戶名密碼可能沒填或者沒對。
{"status":"ok","data":{"triggerResults":{"ANY":"Did not find any jobs to trigger! 
The user invoking /generic-webhook-trigger/invoke must have read permission to any 
jobs that should be triggered. You may try adding http://user:passw@url... or configuring
 and passing an authentication token like ...trigger/invoke?token=TOKENHERE"}}}
最後,在dev分支提交代碼,就會觸發任務了,至此需求完成。

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

ps:碼雲點測試按鈕默認是觸發master push,實驗過程有問題,可以只勾選一項,不作判斷,就可以測試觸發了,如下圖。

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

16.“構建” ,最核心的一步,選擇 “Send files or execute commands over SSH” :

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

簡單說明:

SSH Server,Name 選擇對應的服務器,
Transfers, Source files填寫/,表示全部文件
Remove prefix可以指定截掉的前綴目錄,這裏留空即可,
Remote directory指定遠程服務器上代碼存放路徑,比如/data/wwwroot/www.aaa.com
Exec command爲文件傳輸完成後要執行的命令,比如可以是更改文件權限的命令,設置完成後點擊 “Add Transfer Set”,如果還有另外的機器,可以點擊 “Add Server”重複以上操作
完成以上操作後,就可以使用這個剛剛創建的任務去工作了,點擊左面的 “立即構建” ,就能把git上的代碼發佈到指定的服務器上:

構建輸出完成

linux服務器安裝jenkins自動部署php項目併發送郵箱通知

到遠程機器上,看看是否已經存在這個目錄:
linux服務器安裝jenkins自動部署php項目併發送郵箱通知

17.設置郵箱通知
步驟:

訪問Jenkins服務端(ip+端口),登錄Jenkins
點擊系統管理
linux服務器安裝jenkins自動部署php項目併發送郵箱通知

選擇管理插件
linux服務器安裝jenkins自動部署php項目併發送郵箱通知
選擇可選插件
linux服務器安裝jenkins自動部署php項目併發送郵箱通知
搜索Mailer Plugin
linux服務器安裝jenkins自動部署php項目併發送郵箱通知
點擊直接安裝
點擊Jenkins的系統管理-》系統設置-》Extended E-mail Notification(只有安裝了Mailer Plugin插件纔會出現該項配置),端口號一般爲25,注意自己的服務器是否開啓此端口
linux服務器安裝jenkins自動部署php項目併發送郵箱通知
進行郵件配置
Default Subject:
構建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content:

<hr/
(本郵件是程序自動下發的,請勿回覆!)<br/><hr/>
項目名稱:$PROJECT_NAME<br/><hr/>
構建編號:$BUILD_NUMBER<br/><hr/>
構建狀態:$BUILD_STATUS<br/><hr/>
觸發原因:${CAUSE}<br/><hr/>
構建日誌地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
構建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
變更集:${JELLY_SCRIPT,template="html"}<br/><hr/>

注意點
點擊應用,點擊保存

點擊創建的任務進行郵箱的構建,點擊配置,選擇構建後操作
linux服務器安裝jenkins自動部署php項目併發送郵箱通知
linux服務器安裝jenkins自動部署php項目併發送郵箱通知
點擊應用,保存,構建,查看郵箱是否收到郵件提醒
收到的郵件效果
linux服務器安裝jenkins自動部署php項目併發送郵箱通知linux服務器安裝jenkins自動部署php項目併發送郵箱通知

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