為了測試方便,想在本地完成python+requests+Jenkins的接口自動化,但是在使用Jenkins構建本地任務的時候,出現(xiàn)了各種各樣的問題,在這里做一個記錄。
1、在官網下載dmg安裝包,安裝完畢即可在本機搭建jenkins的工作。但是jenkins不會用本地的用戶去構建,任何創(chuàng)建的文件都是“jenkins”用戶所有,這會造成很多權限問題,無法調用自己寫的腳本,執(zhí)行shell會出現(xiàn)沒有權限的錯誤。
解決方法:
1、查閱了很多資料,都是說修改
/Library/LaunchDaemons/org.jenkins-ci.plist中的用戶權限

但是在執(zhí)行Jenkins restart命令時出現(xiàn)權限錯誤問題:

于是各種修改Library文件夾下的權限,失敗。這種方法不可行。
2、又再次查看大家對Jenkins配置相關的文章,發(fā)現(xiàn)這樣一句話:
不要從官方下載pkg安裝
(1)于是改變策略,先卸載已經安裝好的Jenkins:
/Library/Application\ Support/Jenkins/Uninstall.command

如何擔心無法徹底卸載干凈,可以查看這篇文章:
徹底卸載Jenkins
(2)通過brew安裝Jenkins
brew install jenkins
如果未安裝brew,先安裝brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
安裝完成后,執(zhí)行war包(我的Jenkins版本是2.122,可根據自己的Jenkins版本更換版本號):
java -jar /usr/local/Cellar/jenkins/2.122/libexec/jenkins.war --httpPort=8080
(3)安裝完成后,回提示如何開啟Jenkins服務,以及如何停止;

啟動后,不要著急打開Jenkins 的web容器。先去/Library/LaunchDaemons目錄下新建一個org.jenkins-ci.plist文件
內容如下:

可直接拷貝如下文檔:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>StandardOutPath</key>
<string>/var/log/jenkins/jenkins.log</string>
<key>StandardErrorPath</key>
<string>/var/log/jenkins/jenkins.log</string>
<key>EnvironmentVariables</key>
<dict>
<key>JENKINS_HOME</key>
<string>/Users/leon/Documents/FuckingJenkins/Jenkins/Home</string>
</dict>
<key>GroupName</key>
<string>daemon</string>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.jenkins-ci</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/Library/Application Support/Jenkins/jenkins-runner.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>jenkins</string>
<key>SessionCreate</key>
<true/>
</dict>
</plist>
可以發(fā)現(xiàn),JENKINS_HOME是你的路徑。
(4)啟動Jenkins
未避免權限問題,先執(zhí)行下面的命令行“
sudo chown root /usr/local/Cellar/jenkins/2.122/homebrew.mxcl.jenkins.plist
sudo chown root /usr/local/Cellar/jenkins/2.122/homebrew.mxcl.jenkins.plist
(5)到這里就可以打開Jenkins的web容器,注冊管理員賬號,設置全局屬性
選擇“系統(tǒng)管理”——“系統(tǒng)設置”,進入系統(tǒng)設置界面
全局屬性下面,勾選環(huán)境變量,增加一對鍵值對:
PATH = (終端中執(zhí)行 echo $PATH 命令的輸出,為一堆路徑)

3、調用本地腳本,終于可以正常執(zhí)行了
