最近想在我的mac上搭建個(gè)Jenkins,實(shí)現(xiàn)自動(dòng)從svn更新代碼澳叉,運(yùn)行打包腳本隙咸。踩了很多坑,在這里記錄下成洗。
Jenkins安裝有兩種方式
第一種是從Jenkins官網(wǎng)下載 .pkg的安裝包五督,我下載的版本是:jenkins-2.190.1.pkg。但是這種方式安裝的Jenkins目錄是在:/Users/Shared/Jenkins目錄下瓶殃,而且會(huì)創(chuàng)建一個(gè)jenkins用戶充包,當(dāng)我們打包的時(shí)候會(huì)出現(xiàn)各種權(quán)限不足問(wèn)題導(dǎo)致打包失敗。最后是遷移了jenkins的目錄來(lái)解決權(quán)限問(wèn)題遥椿,不推薦使用這種方式安裝基矮。
第二種是使用homebrew安裝淆储,這種方式安裝的目錄在:/Users/leo/.jenkins,不會(huì)出現(xiàn)權(quán)限的問(wèn)愈捅。
建議使用第二種方式安裝遏考。
下面詳細(xì)介紹下安裝步驟慈鸠。
第一種方式(.pkg安裝包安裝)
更詳細(xì)的流程及解釋可以參考這篇文章:iOS開(kāi)發(fā)-自動(dòng)化打包Jenkins集成
1. jenkins官網(wǎng)下載安裝包蓝谨,下載地址:https://jenkins.io/zh/download/
下載完成后按提示安裝就行了,不需要額外做什么操作青团。
安裝完成后程序會(huì)自動(dòng)用Safari打開(kāi) localhost:8080/
01.如果你的電腦java環(huán)境正常譬巫,會(huì)出現(xiàn)下圖。
02.如果你的電腦java環(huán)境有問(wèn)題督笆,會(huì)出現(xiàn)下圖芦昔。
03.打開(kāi)成功的可跳過(guò)當(dāng)前安裝java環(huán)境步驟。
打開(kāi)java包下載地址下載JDK安裝
一般會(huì)有2個(gè)版本可選娃肿,我們選第一個(gè)下載咕缎,下載完成后雙擊安裝。
安裝完成后打開(kāi)終端料扰,cd進(jìn)入到j(luò)enkins.war包所在目錄凭豪,目錄為:/System/Applications/Jenkins執(zhí)行以下命令:
java -jar jenkins.war --httpPort=8080
httpPort指的就是Jenkins所使用的http端口,這里指定8080(默認(rèn)的就是這個(gè))
2.執(zhí)行下面兩條的命令:
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
java -jar /Applications/Jenkins/jenkins.war --httpPort=8080
如果出現(xiàn):
Jenkins is fully up and running
則jenkins啟動(dòng)成功晒杈。這時(shí)候就可以打開(kāi)http://localhost:8080進(jìn)行操作了嫂伞。
注意:這種方式必須先執(zhí)行上面兩條命令再打開(kāi)http://localhost:8080,這樣才是執(zhí)行的
/Users/leo/.jenkins 目錄下的jenkins拯钻,其中l(wèi)eo是我的用戶名帖努。如果沒(méi)有執(zhí)行命令就打開(kāi)http://localhost:8080,啟動(dòng)的就是 /Users/Shared/Jenkins 目錄下的jenkins粪般,如想切換啟動(dòng)路徑拼余,請(qǐng)重啟電腦或者自行g(shù)oogle方法,我沒(méi)有做過(guò)多的研究亩歹。
第二種方式(homebrew安裝)
執(zhí)行命令
brew install jenkins
如果沒(méi)有安裝homebrew的話匙监,需要先安裝homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后執(zhí)行war包(注意下面的命令需要自己更換對(duì)應(yīng)的版本號(hào))
java -jar /usr/local/Cellar/jenkins/安裝的jenkins版本號(hào)/libexec/jenkins.war --httpPort=8080
注意:安裝jenkins結(jié)束之后,不要打開(kāi) localhost:8080
在/Library/LaunchDaemons目錄下創(chuàng)建org.jenkins-ci.plist文件
cd /Library/LaunchDaemons
sudo touch org.jenkins-ci.plist
把下面的內(nèi)容復(fù)制到org.jenkins-ci.plist捆憎,其中JENKINS_HOME就是jenkins默認(rèn)執(zhí)行路徑舅柜,我把路徑放在/Users/leo目錄下了。/Users/leo/Jenkins中Jenkins文件夾需要你自己創(chuàng)建躲惰。
<?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/leo/Jenkins</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>
然后就可以啟動(dòng)jenkins了
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
這里可能會(huì)遇到Path had bad ownership/permissions權(quán)限問(wèn)題致份,執(zhí)行
sudo chown root:wheel /Library/LaunchDaemons/org.jenkins-ci.plist
解決完權(quán)限問(wèn)題再次啟動(dòng)jenkins就行了,這樣就配置完成了础拨。
這時(shí)候就可以打開(kāi)http://localhost:8080進(jìn)行操作了氮块。
配置完成后绍载,下次再次啟動(dòng)jenkins可以直接使用下面的命令:
jenkins
注意:這種方式配置的jenkins,需要手動(dòng)啟動(dòng)jenkins滔蝉。
本文引用到的文章鏈接:
iOS開(kāi)發(fā)-自動(dòng)化打包Jenkins集成
mac下Jenkins 主目錄導(dǎo)致的權(quán)限問(wèn)題
Jenkins環(huán)境搭建 iOS