安裝 jenkins 有三種方式:
方式一:
下載war包,下載地址:http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war/2.31/jenkins.war
將war直接放到tomcat的webapps下
[root@s120101 webapps]# ls -la
總用量 114204
drwxr-x--- 9 root root 4096 11月 16 15:36 .
drwxr-xr-x 9 root root 4096 11月 16 09:43 ..
drwxr-x--- 14 root root 4096 11月 16 09:43 docs
drwxr-x--- 6 root root 4096 11月 16 09:43 examples
drwxr-x--- 7 root root 4096 11月 16 09:48 gitbucket
-rw-r--r-- 1 root root 47147063 11月 15 17:37 gitbucket.war
drwxr-x--- 5 root root 4096 11月 16 09:43 host-manager
drwxr-x--- 10 root root 4096 11月 16 15:36 jenkins
-rw-r--r-- 1 root root 69757994 11月 16 14:04 jenkins.war
drwxr-x--- 5 root root 4096 11月 16 09:43 manager
drwxr-x--- 3 root root 4096 11月 16 09:43 ROOT
[root@s120101 webapps]# pwd
/root/apache-tomcat-8.5.8/webapps
重啟tomcat
登入 http://主機IP:連接埠/jenkins
以下轉載:http://blog.csdn.net/yanmingming1989/article/details/8557716/
方式二:
linux主句執行:
sudo java -jar jenkins.war –httpPort=18080 –ajp13Port=18009
但是很多時候我們是使用SSH方式到目標機器上的,放我們關閉SSH串連時,這個命令也會被中斷,jenkins服務會被終止,我們不可能一直保持這SSH串連,怎麼辦。可以把這行命令寫成 shell 指令碼,然後使用 nohup sh jenkins.sh &
命令啟動這個指令碼,這樣jenkins就能正常提供服務了。
安裝方式二:安裝 RPM包
為了能夠使用jenkins庫,首先需要匯入jenkins庫的 key:
[java] view plain copy sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm –import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key 安裝軟體(以jenkins-x.x.x.rpm為例):yum install jenkins-x.x.x.rpm
刪除軟體:yum remove jenkins-x.x.x.rpm或者yum erase jenkins-x.x.x.rpm
升級軟體:yum upgrade jenkins或者yum update jenkins
查詢資訊:yum info jenkins
開啟服務(關閉,重啟): [java] view plain copy sudo service jenkins start|stop|restart 檢查jenkins是否安裝完成: localhost:8080 (預設是8080 連接埠,如果採用安裝方式一,那麼就需要指定的連接埠)
運行job時遇到的問題:
mvn:command not found
遇到的問題: 不能使用MVN命令;
排查過程:
①Jenkins 預設建立進程,啟動任務的使用者名稱是 jenkins,使用root許可權查看passwd,可以看到這個使用者預設情況下 ssh 為false,也就是說這個使用者預設情況下是不能使用ssh進行登入的,除非修改 passwd中相應欄位為 bash,然後sourse;
jenkins:x:500:500:mengqc:/home/jenkins:/bin/fasle
passwd檔案的格式: 註冊名:口令:使用者標識號:組標識號:使用者名稱:使用者主目錄:命令解釋程式
②預設情況下 Jenkins 的安裝目錄是 /var/lib/jenkins/ ,項目根目錄是 /var/lib/jenkins/jobs/workspace
從目錄上看,就知道這個是需要 root 許可權才能執行一些命令,但是我們通過介面 執行一些命令使用的是admin使用者,縱使我們在 根目錄下 能適應mvn命令,但是問題也不能解決。
還有一個簡單的測試Maven 是否加入到了環境變數中的方法,在執行mvn命令時,填寫maven安裝的絕對路徑,如果能夠執行,說明不是許可權的問題,而是環境變數的問題。
解決方案一: ①安裝 ssh slave 外掛程式;
②啟動slave 服務;
③jenkins-系統管理-節點管理:重新設定 slave機器的 Remote FS root 為 /home/admin/xxx
(主要是添加了workspace的目錄) $ITEM_ROOTDIR
④把master的節點數設為0,這樣預設情況下就會使用 slave節點。
問題:
如果修改 工作目錄(Remote FS root),可能會遇到:
[java] view plain copy “main”java.lang.NoclassDefFoundError:hudson/maven/agent/Main 原因:我們修改了slave的工作目錄,但是slave服務沒有重啟導致;
解決方案:使用我們的指令碼 對slave進行 重啟操作。
解決方案二:
在 /home/admin/目錄下建立一個工作目錄,然後將 /var/lib/jenkins目錄設定成一個跳轉連結 ,連結到admin目錄下 [sudo ln -s /home/admin/xxx/ /var/lib/jenkins] ,然後將/var/lib/jenkins 目錄下的檔案 mv 到/home/admin/xxx/ 目錄下。
mvn和一些基本的命令是可以運行了,但是運行shell指令碼時還是沒有許可權,因為 建立的這個跳轉串連user=root ,group=root,並且對這個連結 使用chown/chgrp 都是沒有效果的,執行一些操作命令是還是沒有許可權;
解決方案三:修改預設 jenkins 使用者為 admin
①安裝jenkins
Java代碼 (我們一般使用的是admin許可權)
[java] view plain copy sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum install jenkins rpm -ql jenkins
②. 配置jenkins
Java代碼
// edit JENKINS_PORT, JENKINS_USER
sudo vi /etc/sysconfig/jenkins (把 JENKINS_USER 設定為 admin)
③. 修改jenkins許可權(如果修改JENKINS_USER情況下)
Java代碼
[java] view plain copy #### sudo chown -R admin /usr/lib/jenkins sudo chgrp -R admin /usr/lib/jenkins ####