第一取劫、安裝Jenkins 蹦浦。
安裝Jenkins在mac上我用過三種帅刀,分別是下載jenkins.pkg 安裝包沛慢、把Jenkins.war包放到在Tomcat的發(fā)布目錄下即webapp下、用brew install jenkins盒音。(我是用最后一種才運(yùn)行成功的)表鳍。
第一種安裝遇到的坑是:從git上拉取不下代碼,不論是用http的方式還是用ssh的方式都不能拉取下來祥诽。有的人說ssh連不上可能是Jenkins運(yùn)行時(shí)候是一Jenkins這個(gè)用戶運(yùn)行譬圣,不是以root啊,登錄用戶運(yùn)行雄坪。建議切換到Jenkins用戶厘熟,生成ssh的公鑰和私鑰。代碼如下:
su jenkins
ssh-keygen -t rsa -C "你的郵箱標(biāo)識(shí)" -f ~/.ssh/jenkins
然后把你的公鑰和私鑰分別放到git的ssh keys 和 Jenkins
具體參考[這篇文章](http://www.reibang.com/p/ed0edb93e234)
雖然我沒有用第一種安裝實(shí)現(xiàn)從git上取代碼但是認(rèn)為我不能pull 下代碼原因肯能是git服務(wù)器限制了我的ip了维哈。
第二绳姨、配置git。
我是通過brew install jenkins 安裝的阔挠。
brew install jenkins
下面的2.93請換成自己的版本飘庄。具體到自己對應(yīng)目錄找。下面的8888是設(shè)定端口號(hào)购撼。下面的命令也可以作為每次的啟動(dòng)命令跪削。比如你把電腦關(guān)閉后想重新登錄Jenkins可以用它。
java -jar /usr/local/Cellar/jenkins/2.93/libexec/jenkins.war --httpPort=8888
安裝后出化Jenkins可以參考這篇文章安裝和建立一個(gè)項(xiàng)目http://www.reibang.com/p/c7b951b9b4f2
我是以http的pull git上的代碼的份招。如下圖填寫git服務(wù)器http地址:
在Username中填上你登錄git的用戶名切揭。password填登錄git的密碼。description隨便寫锁摔。ID不用填。
上面的配置好后哼审,可以保存谐腰。然后跑一下看是否成功pull git上的代碼孕豹。
第三、打包發(fā)布iosx項(xiàng)目
我沒有用xcode插件十气,原因是老師提示簽名有問題励背。最后試了好多方法不行最后決定用Execute shell 。最后用shell 成功了 砸西。
代碼如下:
#scheme_name為項(xiàng)目名稱
scheme_name="xxxx"
#build_configuration 為Debug or Release
build_configuration="Release"
#定義一個(gè)變量后面要用到
info_plist_name="Info"
#進(jìn)入項(xiàng)目目錄
cd /Users/jfjb/.jenkins/workspace/defense_gov
# 獲取項(xiàng)目名稱
project_name=`find . -name *.xcodeproj | awk -F "[/.]" '{print $(NF-1)}'`
# 獲取版本號(hào),內(nèi)部版本號(hào),bundleID
info_plist_path="$project_name/$info_plist_name.plist"
bundle_version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $info_plist_path`
bundle_build_version=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" $info_plist_path`
bundle_identifier=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $info_plist_path`
# 強(qiáng)制刪除舊的文件夾
rm -rf ./$scheme_name-IPA
# 指定輸出ipa路徑
export_path=./$scheme_name-IPA
# 指定輸出歸檔文件地址
export_archive_path="$export_path/$scheme_name.xcarchive"
# 指定輸出ipa地址
export_ipa_path="$export_path"
# 指定輸出ipa名稱 : scheme_name + bundle_version
suffix=`date +"%m%d%H%M"`
ipa_name="$scheme_name-v$bundle_version_$suffix"
version="$bundle_version.$suffix"
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $version" "$info_plist_path"
#打包是用的文件
ExportOptionsPlistPath="../shell/DevelopmentExportOptionsPlist.plist"
# 指定輸出文件目錄不存在則創(chuàng)建
if test -d "$export_path" ; then
echo $export_path
else
mkdir -pv $export_path
fi
echo "************************* 開始pod *************************"
pod install --verbose --no-repo-update
echo "************************* pod完成 *************************"
#clean
xcodebuild clean -workspace $project_name.xcworkspace -scheme $scheme_name -configuration $build_configuration
# step 2\. Build
xcodebuild -workspace $project_name.xcworkspace -scheme $scheme_name -sdk iphoneos -configuration $build_configuration
# step 3\. Archive
xcodebuild archive -workspace $project_name.xcworkspace -scheme $scheme_name -configuration $build_configuration -archivePath $export_archive_path
xcodebuild -exportArchive -archivePath $export_archive_path -exportPath $export_ipa_path -exportOptionsPlist $ExportOptionsPlistPath
mv $export_ipa_path/$scheme_name.ipa $export_ipa_path/$ipa_name.ipa
if test -f "$export_ipa_path/$ipa_name.ipa" ; then
echo "************************* 導(dǎo)出 $ipa_name.ipa 包成功*************************"
else
echo "************************* 導(dǎo)出 $ipa_name.ipa 包失敗 *************************"
exit 1
fi
如果上述不是太清楚可以參考這篇文章(http://www.reibang.com/p/ad4a9c40ae59)我就是參考這篇文章弄好的有所改動(dòng)叶眉。就運(yùn)行成功了。
最是是發(fā)布了芹枷。先在Jenkins系統(tǒng)管理->插件管理->高級(jí)里面上傳fir-plugin-1.9.5.hpi文件衅疙。前提是已經(jīng)下載好這個(gè)文件。
最上傳fir 如下