在安裝完jenkins后,linux中默認使用的jenkins這個用戶,這時在構建完項目后我們需要執行一些shell命令時會出現沒有權限的情況,導致構建失敗,這里我們需要給jenkins用戶相應的權限以執行相應的命令。
如在構建完項目后我們需要修改項目文件的屬性:
chown -R www /home/wwwroot/www.test.com/
如果是jenkins用戶,這時就是出現沒有權限執行chown命令的情況。
為了解決這個問題,我們采用的是更改jenkins默認用戶的方式來實現相應命令的執行。
1、修改jenkins執行用戶
vi /etc/sysconfig/jenkins
修改JENKINS_USER值:
## Type: string
## Default: "jenkins"
## ServiceRestart: jenkins
#
# Unix user account that runs the Jenkins daemon
# Be careful when you change this, as you need to update
# permissions of $JENKINS_HOME and /var/log/jenkins.
#
JENKINS_USER="root"
這里我們把JENKINS_USER值改為root用戶。
注意:這里不一定就要修改為root用戶,可以根據實際情況分配一個可執行相應命令的用戶即可。
2、修改目錄的相應權限:
sudo chown -R root /var/log/jenkins
sudo chgrp -R root /var/log/jenkins
sudo chown -R root /var/lib/jenkins
sudo chgrp -R root /var/lib/jenkins
sudo chown -R root /var/cache/jenkins
sudo chgrp -R root /var/cache/jenkins
修改完成后,當我們再次構建項目時就會發現相應命令被執行了。
使用service jenkins restart 或瀏覽器 xxxxxx:8080/restart
參考另一篇文章 刪除 ~/.subversion 目錄,並重新輸入credentials ,如出現 authentication cancelled 需要刪除已經拉取的目錄
1.自定義項目路徑:
進入job-配置-高級項目選項-選擇使用“自定義的工作空間”,配置后項目不用放到jenkins默認的workspace里了。
勾選 Pass all job parameters as System properties
Root Build script 中 填入${workspace}/自定義路徑
2.更改整個jenkins的項目空間
以下為轉載內容-未經過嘗試
1. 先設置環境變量,變量名為JENKINS_HOME, 值為你想設置的目錄 (一般情況下這樣就夠了,如果還是不行,就進行第二步) 2. jenkins.war -> WEB-INF -> web.xml,修改此文件 (大概會在165行):4 P; j$ q V d; f$ D5 g6 n8 ]0 c <!-- if specified, this value is used as the Hudson home directory --> <env-entry> <env-entry-name>HUDSON_HOME</env-entry-name>; G6 L! Y. `. G" Z2 j8 ]$ G <env-entry-type>java.lang.String</env-entry-type>% X. i" I9 ^) @2 r/ }" C <env-entry-value></env-entry-value> </env-entry>5 e! b) u: C9 Q 4 U9 j3 B. Q( n% h9 f* l 在標簽<env-entry-value></env-entry-value>中添加你的路徑,就ok了。。。 |
以下為轉載:
1. Failed to connect to repository
為job設置git repository的時候報Failed to connect to repository
解決辦法:本地安裝git客戶端,或者�在Jenkins全局系統設置那里指定git的執行路徑。
2. No JDK named ?null? found
任務執行失敗的console里面有這樣一句話:No JDK named ?null? found
解決辦法:在Jenkins系統設置中指定有效JAVA_HOME路徑
3. node: command not found
針對command not found 我主要總結兩種解決方案,對於網上說的那些方法我沒看懂
- 方案一:如果你使用service jenkins start啟動了jenkins進程,那么久有可能出現Jenkins運行環境跟用戶不同。最簡單粗暴的方法是使用 java -jar /usr/lib/jenkins/kenkins.war
- �方案二:把要用的命令創建一個快捷方式到/usr/bin,如 ln -s /usr/local/bin/node /usr/bin/,這樣在Jenkins shell中就能用到node命令了。當然如果是node命令找不到的話可以直接使用Nodejs Plugin解決
4. 如何設置源碼庫瀏覽器
在Jenkins使用Git SCM的時候有一項源碼庫瀏覽器的設置,起初不知道有何用,只是看了說明大概知道是會對每次build生成changes,然后並沒有告訴怎么設置,選擇一種瀏覽器后要填一個URL,然后就各種百度谷歌沒找到答案。最后自己隨便填了一個,build了一下,點擊changes里面的鏈接,報404,看了一下URL的生成規則,才知道怎么設置。
對於githubweb的URL應該填https://github.com/�your_name/your_repo_name/
5. 單獨發送郵件給對構建造成不良影響的責任人

勾選了這個選項之后沒什么反應,如果用的是git源碼庫,可以在系統設置中勾選自動創建提交人
6. 設置完權限之后無法登錄怎么辦
sudo vi /var/lib/jenkins/config.xml
將<useSecurity>true</useSecurity>改為false
重啟Jenkins,重新設置權限
7. 為Jenkins配ssh
可以直接將你的密鑰放到/var/lib/jenkins/.ssh/下
也可以使用ssh的插件完成