Jenkins介紹
官網 https://jenkins.io
Jenkins是一個開源的、可擴展的持續集成、交付、部署(軟件/代碼的編譯、打包、部署)基於web界面的平台。
Jenkins是一個工具集,提供了各種各樣的插件
比如獲取git上最新的代碼
比如可以幫你編譯源代碼
比如可以調用自定義的shell腳本遠程執行命令
官方文檔 https://jenkins.io/doc/
Jenkins安裝
最低配置: 不少於256M內存,不低於1G磁盤,jdk版本>=8
安裝jdk1.8 yum install -y java-1.8.0-openjdk wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install -y jenkins systemctl start jenkins less /var/log/jenkins/jenkins.log //查詢admin密碼
訪問 http://ip:8080/ 進行安裝
[root@shuai-01 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword # 安裝密碼
一步一步進入Jenkins頁面:
Jenkins配置文件: /etc/sysconfig/jenkins
Jenkins程序主目錄:cd /var/lib/jenkins/
jobs/瀏覽器創建的任務 logs/ 相關的日志 nodes/多節點用到的 plugins/插件用到的目錄 secrets/密碼秘鑰相關的 備份Jenkins: 只要把目錄全部拷貝 Jenkins不需要借助數據庫存放相關的數據,配置全部存放在.xml文件里
發布php代碼
jenkins發布PHP需要安裝兩個插件:git plugin ,publish over ssh
需要在系統管理中的插件管理安裝上。
安裝完成之后,重啟Jenkins服務
systemctl restart jenkins
設置publish over ssh插件:
首先要在安裝Jenkins服務的機器上生成一份秘鑰對,然后傳到客戶機上。
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@10.10.3.201:~/.ssh/
再系統管理系統設置下找到publish over ssh插件:
“Passphrase”填寫設置的密碼, “Path to key”留空,“key”粘貼/root/.ssh/jenkins文件內容
點擊左下角“增加”,SSH Server,name自定義,Hostname填寫線上web服務器的ip,Username填寫root,Remote Directory填寫 /
如果是多台web server,繼續點擊“增加”,重復以上操作
點左下角的“保存”
點擊“新建item”,任務名稱自定義,比如 web1-test,選擇“構建一個自由風格的軟件項目”點擊下方的“確定”
描述,自定義
“源碼管理”選擇 “Git”
“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指定遠程服務器上代碼存放路徑,比如/data/www,
Exec command為文件傳輸完成后要執行的命令,比如可以是更改文件權限的命令,設置完成后點擊 “Add Transfer Set”,如果還有另外的機器,可以點擊 “Add Server”重復以上操作
最后點擊左下角的“保存”
完成以上操作后,就可以使用這個剛剛創建的任務去工作了。
點擊左面的“立即構建”(Build Now),就能把git上的代碼發布到指定的服務器上。
點擊左下角的#1/#2… ,然后再點擊 “Console Output”可以查看輸出日志
創建一個新任務:
從git上拉下來:
這時就可以點擊項目並構建: