mac下Jenkins 主目錄導(dǎo)致的權(quán)限問題

最近在同時跟進(jìn)幾個項目,在打包的時候需要來回切項目,很影響效率,也會打斷思路。所以想到了用jenkins在mac本地搭一個自動化打包的服務(wù),過程中遇見一些坑,這里寫一個筆記。

我這里簡單滿足了自己的需求,如果看到文章的各位老鐵有其他更好更方便(更能偷懶)的東西也歡迎分享給我....

問題

集成過程中我遇到了賊多由于權(quán)限導(dǎo)致的問題:
比如Unable to unlock login.keychain
再比如No profile matching 'xxxxx' found: Xcode couldn't find a profile matching 'xxxxx'
再比如No matching provisioning profile found: Your build settings specify a provisioning profile with the 巴拉巴拉的

一開始我以為是我配置的問題,但是后來仔細(xì)檢查后,發(fā)現(xiàn)證書配置的沒有問題,本地都有證書和profile且都是有效的。

然后就上網(wǎng)查,發(fā)現(xiàn)大家有說把profile的MobileDevice文件夾移動到j(luò)enkins的目錄下的,嘗試了,無果。
然后又查到把profile的uuid名稱改成之前在apple development設(shè)置的名字,嘗試了,無果。

但是我用腳本在本地直接執(zhí)行是可以打出包來的,所以我懷疑是沒有權(quán)限找到profile文件,這里要提一下,發(fā)生這種問題的前提是下載和安裝的從jenkins官網(wǎng)下載的pkg安裝包,安裝后會直接啟動jenkins的web容器,然后你會發(fā)現(xiàn)jenkins的目錄是默認(rèn)安裝在/Users/Shared/jenkins的(就是共享文件夾),也就是在你的用戶目錄之外,如下:

截圖

(我猜測可能是因為共享文件夾里的jenkins沒有權(quán)限訪問 用戶里的鑰匙串文件login.keychain?所以即使我配置的沒有問題,在用xcodebuild 命令行打包的時候 還是會Unable to unlock login.keychain或者找不到對應(yīng)的profile文件?)

然后我想把jenkins安裝到我的用戶下,可能就解決問題了。但是從官網(wǎng)下的pkg每次都是直接安裝然后打開web容器了。然后查看主目錄打開localhost:8080-系統(tǒng)管理-系統(tǒng)設(shè)置,發(fā)現(xiàn)路徑是/Users/Shared/jenkins,然后準(zhǔn)備修改主目錄

嘗試改過/etc/profile,添加JENKINS_HOME=XXXX,修改過之后,無果。
嘗試過sudo vim org.jenkins-ci.plist ,然而這個只讀文件,哪怕修改了權(quán)限之后再修改jenkins home 也不行。

修改jenkins主目錄/安裝目錄 解決方法:

不要從官方下載pkg安裝
不要從官方下載pkg安裝
不要從官方下載pkg安裝

建議使用命令行安裝jenkins

brew install jenkins

如果沒有安裝homebrew的話,需要先安裝homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

然后執(zhí)行war包(注意下面的命令需要自己更換對應(yīng)的版本號)

java -jar /usr/local/Cellar/jenkins/版本號/libexec/jenkins.war --httpPort=8080

安裝jenkins結(jié)束之后,別急著打開web容器
安裝jenkins結(jié)束之后,別急著打開web容器
安裝jenkins結(jié)束之后,別急著打開web容器

open /Library/LaunchDaemons

然后在里面新建一個org.jenkins-ci.plist
內(nèi)容大概如下,其中的JENKINS_HOME 就是你的路徑,我這里放在了文稿下:

<?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>

然后啟動jenkins
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

這里可能會遇到Path had bad ownership/permissions權(quán)限問題
執(zhí)行sudo chown root:wheel /Library/LaunchDaemons/org.jenkins-ci.plist

然后重復(fù)執(zhí)行上邊 啟動jenkins 的命令

然后打開 localhost:8080去看看主目錄

截圖

主目錄修改成功!

然后正常配置jenkins項目,執(zhí)行腳本打包,配置fir.im插件自動上傳ipa生成二維碼,自動發(fā)送郵件給測試人員。

ps:在fir.im插件上傳成功之后,log的日志里有
You can use ENV var $FIR_DOWNLOAD_URL in other plugins.

這種輸出,應(yīng)該是可以通過$FIR_DOWNLOAD_URL這個變量直接拿到返回的下載短連接的,但是我嘗試了之后沒有成功,如果看到文章的老鐵有成功的案例,請告訴我一下,謝謝啦。下面是log的輸出,和我找到的相關(guān)內(nèi)容

log輸出
參考

有啥問題歡迎交流指正。

參考鏈接:
http://www.cnblogs.com/zz0412/p/jenkins_jj_01.html
http://www.lxweimin.com/p/bbead797f3d3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,156評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,401評論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,069評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,873評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,635評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,128評論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,203評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,365評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,881評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,733評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,935評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,475評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,172評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,582評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,821評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,595評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,908評論 2 372

推薦閱讀更多精彩內(nèi)容