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

最近在同時跟進(jìn)幾個項(xiàng)目,在打包的時候需要來回切項(xiàng)目笋粟,很影響效率,也會打斷思路析蝴。所以想到了用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的(就是共享文件夾),也就是在你的用戶目錄之外昂秃,如下:

截圖

(我猜測可能是因?yàn)楣蚕砦募A里的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項(xiàng)目,執(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.reibang.com/p/bbead797f3d3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末觅够,一起剝皮案震驚了整個濱河市胶背,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喘先,老刑警劉巖钳吟,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異窘拯,居然都是意外死亡红且,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門涤姊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暇番,“玉大人,你說我怎么就攤上這事思喊”诔辏” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵恨课,是天一觀的道長舆乔。 經(jīng)常有香客問我,道長剂公,這世上最難降的妖魔是什么希俩? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮纲辽,結(jié)果婚禮上颜武,老公的妹妹穿的比我還像新娘。我一直安慰自己拖吼,他們只是感情好鳞上,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绿贞,像睡著了一般因块。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上籍铁,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天涡上,我揣著相機(jī)與錄音,去河邊找鬼拒名。 笑死吩愧,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的增显。 我是一名探鬼主播雁佳,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了糖权?” 一聲冷哼從身側(cè)響起堵腹,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎星澳,沒想到半個月后疚顷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡禁偎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年腿堤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片如暖。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡笆檀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盒至,到底是詐尸還是另有隱情酗洒,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布妄迁,位于F島的核電站寝蹈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏登淘。R本人自食惡果不足惜箫老,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望黔州。 院中可真熱鬧耍鬓,春花似錦、人聲如沸流妻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绅这。三九已至涣达,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間证薇,已是汗流浹背度苔。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浑度,地道東北人寇窑。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像箩张,于是被迫代替她去往敵國和親甩骏。 傳聞我的和親對象是個殘疾皇子窗市,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

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