開始
忙了一天,才發(fā)現(xiàn)網(wǎng)上說的都不靠譜啄栓,這是我玩CI的最真切的體會撞叽,如果你的項目還在本地姻成,那么這個文章將講述 如何喝 git 代碼托管庫聯(lián)系起來。網(wǎng)上有很多教程了愿棋,可是我也是按照人家的方式方法來的科展。發(fā)現(xiàn)還是挺多坑的這里一步步的說下
坑
1.我開始想,代碼通過jenkins 來拉取從bit bucket 糠雨,后來開始配置job —》源碼管理—》git 的respository URL && Credentials 才睹。特別是Credentials的設置,有賬號+密碼的甘邀。有用戶名加私鑰的琅攘。我選擇了第二種,本以為簡單松邪,發(fā)現(xiàn)錯了坞琴。這個公鑰不要按照網(wǎng)上說的大部分說的生成,因為他是以你當前電腦的用戶為用戶名逗抑,可是jenkins 希望要的是 jenkins 的用戶 名義下的私鑰剧辐,這樣你怎么clone 代碼都是clone 不下來的。
解決方案:ssh-keygen -t rsa -C jenkins
記得在jenkins 目錄下生產(chǎn)你的rsa key 邮府,真是坑了我半天荧关,才發(fā)現(xiàn)放的地方不對,老外的回答也不在點上啊褂傀。
2.開始配置的xcode pluin 上一篇我寫了我的配置忍啤,可是發(fā)現(xiàn)網(wǎng)上有個更全的
這里和大家分享一下啊
https://github.com/cyupa/JenkinsCI-iOS
Target: JenkinsCI
Clean before build? YES
Generate Archive? YES
Pack application and build .ipa? YES
.ipa filename pattern: ${VERSION}
Output directory: ${workspace}/Builds/${BUILD_NUMBER}/${BUILD_ID}
Unlock Keychain? YES
Keychain path: ${HOME}/Library/Keychains/login.keychain
Keychain password: your administrator user password
Xcode Schema File: JenkinsCI
Xcode Workspace File: ${WORKSPACE}/JenkinsCI
Xcode Project Directory: ${WORKSPACE}
Xcode Project File: ${WORKSPACE}/JenkinsCI
Build output directory: ${WORKSPACE}/Build
Provide version number and run avgtool? YES
Technical version: ${BUILD_ID}
最后的2個動作可以省略,看你們的測試和產(chǎn)品的要求紊服。為了讓ci 每次都能pull到最新的代碼檀轨,在execute shell 中寫了腳本代碼。都是git 命令欺嗤。
3.如果你的項目過于大 > 200mb 那么就先用git clone 下到本地参萄,不要用jenkins 去clone ,jenkins 給我們的時間默認10分鐘煎饼,如果愿意等那就繼續(xù)延遲默認時間讹挎,可是你的測試小伙伴們可能就不愿意了。
git clone + jenkins pull 這樣的搭配吆玖。
4.還有事情筒溃,就是一個項目中有很多分支,我的做法是沒有在git 設置中設置分支沾乘,而是在shell 中寫了git checkout +分支名稱怜奖,因為我寫指定分支的時候總是失敗,為啥翅阵,現(xiàn)在還是不知道呢歪玲。
終結(jié)
這就是目前我經(jīng)過各種教程熏陶的結(jié)果
1,網(wǎng)上的方法大部分都不是解決你的問題
- 你的問題只有你的環(huán)境知道掷匠。
- 其實回頭看滥崩,很簡單,只是不知道讹语。