Jenkins(一)

目錄

 

部署環境

引言

Jenkins介紹

Jenkins安裝

Jenkins發佈php代碼


部署環境

Name Version capacity
CentOS 7 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux  
java java-1.8.0-openjdk.x86_64 1:1.8.0.181-3.b13.el7_5  
jenkins jenkins.noarch 0:2.141-1.1  

PS:以#開頭的命令是宿主機的命令。

 

 

引言

  • 產品設計成型 -> 開發人員開發代碼 -> 測試人員測試功能 -> 運維人員發佈上線

  • 持續集成 (Continuous integration,簡稱CI)

  • 持續交付(Continuous delivery)

  • 持續部署(continuous deployment)

參考 http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

 

Jenkins介紹

  • 官網 https://jenkins.io

  • Jenkins是一個開源的、可擴展的持續集成、交付、部署(軟件/代碼的編譯、打包、部署)基於web界面的平臺。

  • Jenkins是一個工具集,提供了各種各樣的插件

  • 比如獲取git上最新的代碼

  • 比如可以幫你編譯源代碼

  • 比如可以調用自定義的shell腳本遠程執行命令

  • 官方文檔 https://jenkins.io/doc/

 

Jenkins安裝

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

需要先安裝jdk1.8,因爲Jendins是java語言開發的,所以需要安裝jdk

# yum install -y java-1.8.0-openjdk

下載Jenkins的repo源

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

安裝Jenkins前先要安裝鑰匙,是因爲repo源需要檢查鑰匙,gpgcheck=1

# cat /etc/yum.repos.d/jenkins.repo 
[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1
# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

正式安裝Jenkins

# yum install -y jenkins

啓動Jenkins

# systemctl start jenkins

命令行查詢Jenkins的admin密碼,就是中間長串字符,或者在最下面的路徑裏看,後面用到

#  less /var/log/jenkins/jenkins.log
...
*************************************************************
​
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
​
e2c2f2b6d5dc48a8bbaf2451b5a6397b
​
This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword
​
*************************************************************

訪問http://ip:8080/進行web安裝Jenkins,注意8080端口不要被佔用

# cat /var/lib/jenkins/secrets/initialAdminPassword
e2c2f2b6d5dc48a8bbaf2451b5a6397b

輸入密碼後電機繼續,需要初始化一段時間,進入自定義Jenkins,初學者推薦“安裝推薦的插件”

自動安裝推薦的插件,需要花費一段時間

創建用戶

保存

進入Jenkins界面

Jenkins的相關目錄

# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins         < 配置文件
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins        < 安裝目錄
/var/log/jenkins        < 日誌目錄

 

Jenkins發佈php代碼

該實驗需要檢查是否有“Git plugin”和“Publish Over SSH”兩個插件,如果沒有,則需點擊“系統管理”>“管理插件”>“可選插件”,找到它並安裝

“Git plugin”有了

“Publish Over SSH”還沒有,安裝

安裝好兩個插件,重啓Jenkins服務

# systemctl restart jenkins

接着設置“Publish Over SSH”,在Jenkins服務的機器上生成ssh密鑰對,可設置密碼,也可不設置

# ssh-keygen -f /root/.ssh/jenkins

如果曾經生成過ssh密鑰的,直接把本機的私鑰黏貼到key裏面去

01# cat /root/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAyDqlJewBsYoAqHa6b/yjdWEZHSh6O2vxv/j5FsOt4ADQgx0p
...
IPwG+oGry7e2z+g8LBD4iI5D03euY3j9dac27UCu1h8/V4BLrZjSui4=
-----END RSA PRIVATE KEY-----

把本機公鑰放到遠程機器的.ssh/authorized_keys裏面

01# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIOqUl7AGxigCodrpv/KN1YRkdKHo7a/G/+PkWw63gANCDHSkk9IssGqzX9XOChn9hOOXQv/RWZBItlspJCBBoQmTPhFIcJXWAcMvFCxZAawWdx1CT1fgxpn7eaTZ4HZDeGPNb5zk5Juehc7EiHm7LUjeWNqavxyETJzPAq8GuKQqJ1JTKCf0oYALJr8X6PVe58SHGPJamq1kjvlDGXrN3M3kD1DE1EWD7l33ssdG80tTo+LPd0nGROaauTEhCcH5H9jPyZ9fg/rOZBmczrnG7iBceZsXB93Uzqh+rbdndMYGohUNL37oi4mBqvL8cS2ZQrm3E8Thydv4LfD5C7COn root@zyshanlinux-001
# vi .ssh/authorized_keys

“Passphrase”填寫設置的密碼, “Path to key”留空,“key”粘貼/root/.ssh/jenkins文件內容;點擊左下角“增加”,SSH Server,name自定義,Hostname填寫線上web服務器的ip,Username填寫root,Remote Directory填寫/ 如果是多臺web server,繼續點擊“增加”,重複以上操作; 可以點擊“Test Configuration”測試下本地和遠程是否連接,最後點左下角的“應用和保存”

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