一、環(huán)境配置
注意,本文章是以Jenkins2.263.4為例
1、首先安裝Java環(huán)境:官網(wǎng)下載地址
2、安裝Jenkins
建議下載Jenkins 2.263.4版本,因?yàn)樽钚掳姹敬嬖趌ogin.keychain無法上傳的bug, 在Jenkins官網(wǎng)下載下載完成后,打開終端,進(jìn)入到 war 包所在目錄,執(zhí)行以下命令:
java -jar jenkins.war --httpPort=8080
待Jenkins啟動后:
3、登錄
在瀏覽器頁面輸入以下地址,就打開Jenkins管理頁面了
http://localhost:8080
登錄密碼路徑
~/.jenkins/secrets/initialAdminPassword
進(jìn)入~/.jenkins/secrets/initialAdminPassword路徑查看密碼,輸入密碼登錄。
5、插件安裝
選擇安裝推薦的插件
此過程據(jù)說很慢,但是我用的手機(jī)熱點(diǎn),沒有科學(xué)上網(wǎng),還是很快的。5分鐘左右
6、創(chuàng)建管理員
7、Jenkins URL 默認(rèn)就可以
8、進(jìn)入首頁,先安裝額外的插件
1)點(diǎn)擊Manage Jenkins - Manage Plugins
2)搜索想要安裝的插件
這里需要安裝的插件有:
1)Keychains and Provisioning Profiles Management: 證書與描述文件的管理
2)Xcode integrationXcode:打包的插件,所以iOS的打包只能部署在Mac系統(tǒng)
9、配置項(xiàng)目的訪問SSH私鑰
如果你的電腦沒有配置過SSH,此處以碼云為例,可看碼云官方文檔,配置好SSH后再給Jenkins配置
創(chuàng)建一個(gè)SSH
終端執(zhí)行一下操作,獲取公鑰
cat ~/.ssh/id_rsa.pub
填入保存即可
9、配置項(xiàng)目依賴的證書與描述文件
其實(shí)勾選自動簽名,不用配置證書和描述文件也可以。
1)鑰匙串文件路徑:
~/Library/Keychains/
由于Jenkins里不能上傳login.keychain-db這樣后綴的文件,所以手動復(fù)制一份login.keychain-db到桌面,然后把文件名修改成login.keychain
我們再次來到Manage Jenkins 選擇Keychains and Provisioning Profiles Management
點(diǎn)擊選取文件,選取login.keychain后點(diǎn)擊Upload
證書名稱為鑰匙串里常用名稱,雙擊某個(gè)證書即可打開,copy一下就可以了
輸入完后先保存,在上傳Provisioning Profiles
2)同樣的方式,點(diǎn)擊Keychains and Provisioning Profiles Management,講描述文件上傳,Provisioning Profiles Directory Path的路徑寫
其中{USERNAME}改為自己電腦的名稱
/User/{USERNAME}/Library/MobileDevice/Provisioning Profiles
10、配置郵箱系信息
如果需要郵件通知,則需要配置此項(xiàng)
a.進(jìn)入Manage Jenkins - Configure System
b.填寫系統(tǒng)管理員郵件地址
c.填寫郵箱信息
d.全局設(shè)置郵件發(fā)送出發(fā)事件、這里選Always,是任何事件都會發(fā)送郵件
11、基本使用
二、環(huán)境配置
此處不是用的shell構(gòu)建,以后再研究。
1、新建item
2、填入任務(wù)名稱、選擇Freestyle project
3、General、填寫描述
4、源碼管理
如果報(bào)錯(cuò),說明是SSH配置有問題
5、構(gòu)建觸發(fā)器和構(gòu)建環(huán)境,按需填寫,此處我沒設(shè)置
6、構(gòu)建
1)如果用到了cocopods需要先用shell拉取pods倉庫
#bin/zsh -l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
cd $WORKSPACE/
/usr/local/bin/pod update --verbose --no-repo-update
選擇Execute shell
填入上述命令
7、配置Xcode部分
1)增加構(gòu)建步驟-Xcode,以自動簽名為例
自動簽名不需要填寫Team ID
2)General build settings:一般設(shè)置
Settings部分
Clean before build : 勾選,據(jù)說不勾選啟動圖會有問題
Configuration:分Debug和Release,我要打可調(diào)式包,所以寫的Debug
Xcode Schema File:如果是用到Cocopods,需要填寫工程名
Pack application,build and sign .ipa:需要勾選
按需設(shè)置一下選項(xiàng)
Export method :development、ad-hoc、enterprise、app-store
3)Code signing & OS X keychain options:代碼簽名設(shè)置
此處我們選的自動簽名
Automatic Signing :勾選自動簽名
如果不想自動簽名,選擇下面的Unlock Keychain,前提是需要配置login.keychain和描述文件
3)Advanced Xcode build options:高級選項(xiàng)
8、上傳fir.im、上傳蒲公英、發(fā)送郵件、發(fā)送到釘釘群
1)上傳fir.im
使用的是fir-cli上傳,下面幾個(gè)連接提供參考
介紹:https://github.com/FIRHQ/fir-cli
安裝:http://blog.betaqr.com/use-fir-cli-in-jenkins/
使用:https://github.com/FIRHQ/fir-cli/blob/master/doc/publish.md
我們回到Jenkins中,找到上面的item,打開配置,在最下面增加構(gòu)建步驟,選擇Execute shell
根據(jù)fir-cli使用連接中介紹,編寫一下shell
fir p ${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa? -Q -T abcdefghigklmnopqrstuvwxyz
需要修改的地方有兩點(diǎn)
a、ipa路徑:${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa
b、fir的API token:abcdefghigklmnopqrstuvwxyz
fir的API Token去fir平臺獲取,將兩者換成自己的就可以了。
c、頭像,點(diǎn)擊API token
d、copy就可以了
2)發(fā)送到釘釘群,通過Webhook實(shí)現(xiàn)
當(dāng)上傳fir成功后,我們可以發(fā)消息到釘釘群,這里需要在釘釘群配置一個(gè)機(jī)器人。
a.在需要發(fā)消息的釘釘群,點(diǎn)擊群設(shè)置 - 智能群助手 - 添加機(jī)器人
選擇自定義
安全設(shè)置,我們選擇自定義關(guān)鍵詞
關(guān)鍵詞添加為url
我們講Webhook的地址復(fù)制出來,截取地址里的access_token備用
在上一步上傳fir的shell腳本中加入access_token值就可以發(fā)送到群里了
shell腳本改為
fir p ${WORKSPACE}/build/Debug-iphoneos/JenkinsDemo.ipa --dingtalk-access-token="zyxwvutsrqpo" -Q -T abcdefghigklmnopqrstuvwxyz
access_token : zyxwvutsrqpo 講這個(gè)值換成自己的就可以了
3)發(fā)送郵件
回到配置頁面,滑到最下面,點(diǎn)擊增加構(gòu)建后操作步驟
選擇Editable Email Notification
多個(gè)郵箱地址用英文逗號隔開
Content Type:選擇Plain Text(text/plain)就可以
Triggers觸發(fā)器按照下圖配置,保存即可
3)上傳蒲公英
先放一個(gè)蒲公英官方文檔:https://www.pgyer.com/doc/view/jenkins_plugin
打開蒲公英,在API信息中獲取API Key和User Key
在Jenkins插件中安裝Upload to pgyer插件
返回item中的配置
在增加構(gòu)建后操作步驟中選擇Upload to pager with apiV1
配置一下信息,保存即可