系統:CentOS 7
Jenkins版本: 2.121.3-1.1
Jenkins官網:https://jenkins.io/doc/book/i...
官網wiki:https://wiki.jenkins.io/displ...
一、Jenkins安裝
1. 安裝
安裝之前肯定要先安裝Java環境
方法一:在線安裝(推薦)
Linux:https://pkg.jenkins.io/redhat...
$ 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
$ sudo yum list jenkins --showduplicates #列出所有可以安裝的版本
$ sudo yum install jenkins #下載最新的版本
$ sudo yum install jenkins-2.121.3-1.1.noarch #指定版本下載
安裝的時候,會自動做下面的操作:
- 會將Jenkins設爲開機自動啓動,具體細節可以查看腳本
cat /etc/init.d/jenkins
- 創建
jenkins
用戶,來運行service。如果運行jenkins時使用的改爲了其它用戶, 則必須同步修改下面這幾個文件的所屬權限/var/log/jenkins
、/var/lib/jenkins
、/var/cache/jenkins
- 控制檯輸出日誌存文件
/var/log/jenkins/jenkins.log
- 可以在
/etc/sysconfig/jenkins
中設置啓動配置參數,默認啓動端口爲:JENKINS_PORT="8080"
安裝目錄: /usr/lib/jenkins
工作目錄: /var/lib/jenkins(對應於環境變量 JENKINS_HOME)
配置文件:/etc/sysconfig/jenkins
日誌:/var/log/jenkins/jenkins.log
方法二:基於Tomcat安裝
- 安裝並啓動 Tomcat
- 從官網下載 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 會自動部署;
- 瀏覽器訪問:http://localhost:8080
2. 啓動
# 設置允許開機啓動(在線安裝的時候會自動設置)
$ sudo chkconfig jenkins on
# 啓動相關
$ sudo systemctl start jenkins
$ sudo systemctl restart jenkins
或者
$ sudo service start jenkins
啓動後訪問:http://localhost:8080
不要訪問http://localhost:8080/jenkins/
,否則之後可能出現404錯誤:
HTTP ERROR 404
Problem accessing /jenkins/. Reason: Not Found
3. 卸載
如果要重裝,或者本機不需要 Jenkins,可卸載:
sudo systemctl stop jenkins
sudo systemctl disable jenkins
sudo yum -y remove jenkins
sudo rm -rf /var/{lib,log,cache}/jenkins /usr/lib/jenkins /root/.jenkins
sudo rm -rf `sudo find /{etc,var,run} -name "jenkins*"`
4. 權限問題
如果在root用戶下安裝,默認jenkins的管理權限是jenkins用戶,訪問的時候可能會出現以下錯誤:
Jenkins throwing error: jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and probably cannot be created
方法一: 使用root用戶來管理jenkins(簡單粗暴)
由於jenkins自動部署會用到shell命令,使用root用戶會避免遇到更多的問題(但是實際生產中,更推薦不要使用root用戶)
$ vim /etc/sysconfig/jenkins # 打開配置文件
$JENKINS_USER="root" # 修改$JENKINS_USER變量爲root,並去掉當前行註釋
#修改Jenkins相關文件夾用戶權限(必須修改)
$ chown -R root:root /var/lib/jenkins
$ chown -R root:root /var/log/jenkins
$ chown -R root:root /var/cache/jenkins
#重啓Jenkins服務並檢查運行Jenkins的用戶是否已經切換爲root
$ service jenkins restart
$ ps -ef | grep jenkins # 查看Jenkins進程所屬用戶
方法二:新建用戶【推薦】
$ useradd song #添加新用戶song
$ vim /etc/sysconfig/jenkins # 打開配置文件
$JENKINS_USER="song" # 修改$JENKINS_USER變量爲root,並去掉當前行註釋
#修改Jenkins相關文件夾用戶權限(必須修改)
$ chown -R song:song /var/lib/jenkins
$ chown -R song:song /var/log/jenkins
$ chown -R song:song /var/cache/jenkins
#重啓Jenkins服務並檢查運行Jenkins的用戶是否已經切換爲song
$ systemctl restart jenkins
$ ps -ef | grep jenkins # 查看Jenkins進程所屬用戶
方法三:切換到jenkins用戶
【不推薦使用此方法,會出現各種預想不到的問題】
修改 /bin/false
爲 /bin/bash
$ vim /etc/passwd # 修改 jenkins用戶的腳本執行目錄
jenkins:x:993:989:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
$ su - jenkins #切換用戶
會發現切換後jenkins變爲了bash-4.2$
。原因是在安裝jenkins時,jenkins只是創建了jenkins用戶,並沒有爲其創建home目錄。所以系統就不會在創建用戶的時候,自動拷貝/etc/skel目錄下的用戶環境變量文件到用戶家目錄,也就導致這些文件不存在,出現用戶名爲bash-4.2$
的問題了,但是其實本質還是jenkins用戶,只是名稱顯示的是bash-4.2$
。
在jenkins用戶下執行下面的操作來修復這個問題:
#1.修改配置文件.bash_profile
$ vim ~/.bash_profile
export PS1='[\u@\h \W]\$' #加入此行代碼(PS1:命令行提示符環境變量)
$ source ~/.bash_profile #刷新文件,使其有效
二、 使用
啓動後訪問http://192.168.137.131:8080,根據提示操作即可。
例如:
會出現 【解鎖jenkins】的操作頁面。
$ cat /var/lib/jenkins/secrets/initialAdminPassword
cc64c9d00bfd40babd37671df037417b #複製該密碼並粘貼到頁面輸入框即可解鎖。
之後選擇【安裝推薦的插件】。