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項目併發送郵箱通知php

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

cd /usr
mkdir java

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

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

五、解壓到當前目錄linux

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

獲得文件夾 重命名爲jdkgit

mv jdk1.8.0_60 jdk

六、編輯配置文件,配置環境變動web

vim /etc/profile

添加以下內容:vim

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

七、執行命令:centos

source /etc/profile

八、查看安裝狀況瀏覽器

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項目併發送郵箱通知

相關文章
相關標籤/搜索