jenkins介紹、安裝,發佈php代碼,郵件設置,插件email-ext,破解jenkins管理員密碼

 

26.1 jenkins介紹
26.2 jenkins安裝
26.3 瞭解jenkins
26.4/26.5 發佈php代碼
26.6 jenkins郵件設置
26.7 插件email-ext
26.8 破解jenkins管理員密碼

擴展:
1 請同窗們自行建立一個私有git倉庫,把discuz代碼push進去,並整合到你的jenkins任務裏
2 動手更改若干php代碼文件,而後發佈到線上
3 思考一下,如何回滾?php

 

 

 

產品設計成型 -> 開發人員開發代碼 -> 測試人員測試功能 -> 運維人員發佈上線
持續集成 (Continuous integration,簡稱CI)
持續交付(Continuous delivery)
持續部署(continuous deployment)
以上參考 http://www.ruanyifeng.com/blog/2015/09/continuous-integration.htmlhtml

1、 jenkins介紹java

官網 https://jenkins.io
Jenkins是一個開源的、可擴展的持續集成、交付、部署(軟件/代碼的編譯、打包、部署)基於web界面的平臺。
Jenkins是一個工具集,提供了各類各樣的插件
好比獲取git上最新的代碼
好比能夠幫你編譯源代碼
好比能夠調用自定義的shell腳本遠程執行命令
官方文檔 https://jenkins.io/doc/

2、Jenkins安裝node

最低配置: 很多於256M內存,不低於1G磁盤,jdk版本>=8linux

安裝jdk1.8,此處安裝openjdkgit

yum install -y java-1.8.0-openjdk

安裝jenkins的yum源web

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
cat /etc/yum.repos.d/jenkins.repo

安裝jenkins的keyshell

rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

安裝jenkinsvim

yum install -y jenkins
systemctl start jenkins
ps aux |grep jenkins
less /var/log/jenkins/jenkins.log //安裝時產生的日誌,查詢admin密碼,作初始化安裝使用

還能夠到這個目錄查看密碼: /var/lib/jenkins/secrets/initialAdminPassword

瀏覽器訪問 http://192.168.216.3:8080/ 進行安裝,把剛剛的密碼粘貼進去瀏覽器

選擇推薦的插件安裝

安裝完成建立管理員帳號

3、瞭解jenkins

Jenkins相關目錄

rpm -ql jenkins

1.安裝目錄,即程序的主目錄,備份時拷貝走改目錄便可:    /var/lib/jenkins
jobs即頁面上建立的任務,生成任務目錄
nodes多節點時用到
plugins 插件所在目錄
secrets 密碼祕鑰相關目錄

2.配置文件 /etc/sysconfig/jenkins
3.日誌目錄 /var/log/jenkins

4、Jenkins發佈php代碼

"系統管理(Manage Jenkins)"->"管理插件(Manage Plugins)"->"已安裝"
檢查是否有"Git plugin"和"Publish Over SSH"兩個插件,若是沒有,則需點擊"可選插件",找到它並安裝
安裝完成直接在服務器中重啓服務:    systemctl restart jenkins

事先在一臺linux服務器上生成一對密鑰
cd /root/.ssh/
若是生成過,則不須要一下操做
ssh-keygen -f /root/.ssh/jenkins //生成新的祕鑰對,文件名是jenkins,也能夠用現有的,能夠設置密碼,也可不設置

安裝好兩個插件後,點擊"系統管理" -> "系統設置(Configure System)"
下拉,找到"Publish Over SSH"

"Passphrase"填寫設置的密碼或爲空, "Path to key"留空,"key"粘貼/root/.ssh/jenkins文件內容或者id_rsa的內容,即私鑰。
左下角,SSH Server定義發佈到哪臺機器上,點擊"增長",name自定義,Hostname填寫線上web服務器的ip,Username填寫root,Remote Directory填寫/(根)。
若是是多臺web server,繼續點擊"增長",重複以上操做 點左下角的"保存"

在002機器上 vim authorized_keys,把001機器上的公鑰複製過去,也要把公鑰放到本機的authorized_keys 中去。

新建任務,任務名稱自定義,好比test,選擇"構建一個自由風格的軟件項目"點擊下方的"肯定"

描述,自定義
"源碼管理"選擇 "Git"
到代碼管理倉庫獲取代碼:    https://git.coding.net/aminglinux/aminglinux-book.git    此處使用課件中地址book.aminglinux.com
"Repository URL"填寫你項目的git地址,若是是公共項目能夠不設置下面的參數,直接填寫一個git地址便可,如果私有項目,須要填寫認證信息,好比能夠選擇 "SSH Username whith private key",而後設置Username以及private key
"Branches to build" 默認爲*/master,意思是發佈的分支爲master,保持默認




"構建觸發器"和"構建環境"留空
"構建",選擇 "Send files or execute commands over SSH" 
SSH Server,Name 選擇對應的服務器,Transfers, Source files填寫**/**,表示所有文件
 
Remove prefix能夠指定截掉的前綴目錄,這裏留空便可,
Remote directory指定遠程服務器上代碼存放路徑,好比/tmp/jentest,
Exec command爲文件傳輸完成後要執行的命令,好比能夠是更改屬主屬組的命令(chown -R nobody:nobody /tmp/jentest),設置完成後點擊 "Add Transfer Set",若是還有另外的機器,能夠點擊 "Add Server"重複以上操做
最後點擊左下角的"保存"
完成以上操做後,就能夠使用這個剛剛建立的任務去工做了。

進入任務後,點擊左面的"當即構建(Build Now)",就能把git上的代碼發佈到指定的服務器上。
點擊左下角的#1/#2… ,而後再點擊 "Console Output"能夠查看輸出日誌

變動代碼後須要到對應任務從新點擊當即構建

5、Jenkins配置郵件 – 內置郵件

系統管理 -> 系統設置 -> Jenkins Location 先設置系統管理員郵件地址,這裏的郵件地址須要和後續要設置的發郵件地址一致。
往下拉,找到「郵件通知」那一欄
填寫SMTP服務器,點右側的高級,打勾「使用SMTP認證」,填寫用戶名密碼,這個密碼是qq郵箱上生成的受權碼,若是使用的是ssl協議,還須要在這裏打勾,smtp端口默認爲25
能夠打勾「經過發送測試郵件測試配置」,而後填寫接收郵件的地址,點右側的Test configuration進行測試

而後就是到已經構建過的job裏去配置接收郵件的地址了。在最下面「構建後操做」那一欄,找到E-mail Notification,Recipients填寫收郵件人
這個收件人只會在job構建失敗時才能收到郵件

能夠經過修改/tmp/jenkins_test/目錄權限來測試:

rm -rf  jenkins_test/*
chattr +i jenkins_test/

更改完權限後去頁面當即構建便可

6、Jenkins配置郵件 – 插件email-ext

插件名字Email Extension Plugin,默認已經安裝
 

配置Extended E-mail Notification:

系統管理->系統設置->Extended E-mail Notification 
填寫SMTP server,選擇高級,點擊Use SMTP Authentication,填寫用戶名、密碼此密碼爲受權碼、SMTP port等

選擇下方的Default Triggers,選擇Always老是發送,點擊應用,保存

還需到對應構建任務中去配置一下,下拉到「構建後操做」
點擊「增長構建後操做步驟」,選擇「Editable  Email Notification」,其中Project Recipient List爲接收郵件的收件人,能夠在默認內容後面增長額外的收件人郵箱,用逗號分隔
點擊右下角的「Advanced settings」,定位到「Triggers」,而後點擊下方的「Add Trigger」,能夠增長髮郵件的條件。
參考文章http://www.cnblogs.com/zz0412/p/jenkins_jj_01.html

此處進行測試,須要把剛剛jenkins_test目錄的權限改回去,chattr -i jenkins_test/

發送成功,能夠收到郵件

7、Jenkins破解管理員密碼

cd /var/lib/jenkins/users/tobe_6892560001535223816
vim config.xml//定位到<passwordHash>這一行
刪除該行,改成
 <passwordHash>#jbcrypt:$2a$10$pre7I4liZFdF6ZE05QntTOoKoKa5pCUumaFO/mMzMoH09bNBzyj6O</passwordHash>
重啓一下 systemctl restart jenkins
新密碼爲aminglinux.com

相關文章
相關標籤/搜索