Jenkins平臺搭建的坑 iOS

zypsusu發表於2017-12-19

最近幾天都在弄這個,踩坑好多,記一下坑。。。詳細教程可參見  

http://xuanyiliu.com/2016/09/22/Jenkins+GitHub+Xcode+fir/

寫的很好,不想再重複, 首先是Jenkins的下載安裝,之前直接下載的macOS的包,然後直接無腦安裝,導致後面執行Jenkins平臺,配置git地址時出現許可權問題,始終沒通過驗證,後面查明是用macOS包安裝時系統會自動建立一個jenkins的使用者,導致許可權問題,解決方法就是安裝時自定義是否建立jenkins使用者

Jenkins平臺搭建的坑  iOS

當時找到的解決方法採用的是將war檔案放到容器中進行安裝,我就直接解除安裝了平臺,下載的jenkins.war包,然後下載的tomcat, 到apache官方主頁下載 Mac 版本的完整 tar.gz檔案包。解壓拷貝所有檔案到 /Users/zypsusu/jenkins/tomcat_jenkins目錄下,其他目錄也可。修改目錄許可權,到終端輸入sudo chmod 755 /Users/zypsusu/jenkins/tomcat_jenkins/bin/*.sh,然後去資料夾bin中修改setenv.sh中設定的路徑,export JENKINS_HOME=/Users/zypsusu/Work/Dev/jenkins,這個是自己建立的tomcat工作路徑,可以隨你自己設定,千萬不要複製了不改掉zypsusu,然後將jenkins.war放到/Users/zypsusu/jenkins/tomcat_jenkins的webapp目錄下面就行,最後啟動Tomcat,並一起安裝Jenkins

sudo sh startup.sh

若出現如下提示則表示安裝並執行成功:

Using CATALINA_BASE: /Users/zypsusu/jenkins/tomcat_jenkins
Using CATALINA_HOME: /Users/zypsusu/jenkins/tomcat_jenkins
Using CATALINA_TMPDIR: /Users/zypsusu/jenkins/tomcat_jenkins/temp
Using JRE_HOME: /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
複製程式碼

如果注意資料夾的話,會看到tomcat工作路徑下生成了許多檔案,其中就有jenkins的驗證安裝密碼initialAdminPassword, 開啟瀏覽器,輸入 http://localhost:8080/

回車之後如果看到jenkins正在啟動,表示正在安裝,然後會要求輸入驗證密碼,這是可以將上面initialAdminPassword檔案裡的密碼輸入進去,進行jenkins的安裝。

也可以使用brew安裝tomcat(沒有嘗試)

安裝完成jenkins後,新建一個自由風格的工程,然後進行專案的配置,這裡因為解決了許可權問題,所以直接輸入git地址就行也不需要再去配置使用者或者ssh去驗證git許可權,然後就是一些配置,這裡可以檢視上面的連結,跟著配置,值得一說的是 這裡的${WORKSPACE}預設代表的是包含專案的路徑,可以檢視tomcat的資料夾來確定路徑,我這裡是/Users/zypsusu/Work/Dev/jenkins/workspace/TuoDao。 至於證照的配置,剛開始我也是配置證照的,後來在不斷構建中因為這個報錯,因為用的是xcode8,選擇的是自動選擇證照,所以為了保持和xcode一致,證照和描述檔案這兩項就清空了。其他也沒啥說的,不斷配置,不斷構建,然後根據系統logo改錯,我也是在構建了22次都失敗以後才構建成功的。

構建後的操作,當然是執行shell進行上傳,我這裡是上傳到fir,所以在下載了上傳外掛後執行 fir p ${WORKSPACE}/archive/tuodao.ipa -T #firim_token

個人感覺jenkins配置還是比較繁瑣的,然後我也只是直接配置來構建產生ipa,上傳ipa,並沒有直接使用指令碼,在這之前是裝了matt大神的shenzhen這個ruby源來產生ipa,現在這個源也不維護了,只能產生ipa,不能上傳到fir,就折騰jenkins,現在是基本能一鍵直接打包上傳到fir了,省點事了,折騰中知道了fastlane,之後會去琢磨下,好像這個比較大眾好用。如果有fastlane比較好的文章,希望也能推薦給我。

我的具體配置如下:

Jenkins平臺搭建的坑  iOS
Jenkins平臺搭建的坑  iOS
Jenkins平臺搭建的坑  iOS
Jenkins平臺搭建的坑  iOS
Jenkins平臺搭建的坑  iOS
Jenkins平臺搭建的坑  iOS
Jenkins平臺搭建的坑  iOS

相關文章