自動部署Jenkins使用教程

系統: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安裝

  1. 安裝並啓動 Tomcat
  2. 從官網下載 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 會自動部署;
  3. 瀏覽器訪問: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  #複製該密碼並粘貼到頁面輸入框即可解鎖。

之後選擇【安裝推薦的插件】。

三、 未完待續。。。

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