Linux環境下搭建Jenkins三種方式__Linux

來源:互聯網
上載者:User

安裝 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    ####  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.