標籤:空間 apple string type deb ima idt rto lis
今天專案經理說讓APP端做一下用Jenkins做持續整合,因為之前沒有做過,所以就開始瞭解,終於在鍵哥的協助下,完成了持續整合的功能,感動的不行,在這裡感謝鍵哥。
因為公司的Jenkins是搭建好的,接下來我就直接上配置過程了。
由於公司的Jenkins的環境不是在Mac上的,所以要做自動整合打包的話,就只能把agent(節點)設定到我自己的電腦了,建立agent的過程。
其中遠程工作目錄就是你本地的Jenkins的安裝路徑。
接下來就是在Jenkins中建立項目了,點擊建立,然後選擇建立自由式饒舌項目
接下來進入項目配置:
首先要配置的在中繼資料中配置,指定要運行工程的節點為我們之前建立的節點
然後在源碼管理中設定源碼管理方式,git地址以及認證方式,同時指定要build的分支
接下來就是構建觸發器的設定,在這裡設定自動構建的時間
然後就到重點了,添加構建的shell指令碼
shell指令碼如下
#!/bin/sh### 配置定義PROJECT_NAME="項目名稱" ### ipa打包的路徑 $(WORKSPACE)表示工作空間路徑下ipaPath="${WORKSPACE}/ipa"### archive的路徑xcarchivePath="${WORKSPACE}/xcarchive"CONFIGURATION="Release"### develop 分支描述檔案#PROFILE_NAME="InHouse_loanCustomer"### master 分支描述檔案#PROFILE_NAME="FinupCredit-Development"PROFILE_NAME="FinupPlatform_Adhoc"### 指定ipa名稱IPAFILE_NAME="${PROJECT_NAME}_${BUILD_NUMBER}.ipa"# unlock login keygen#security unlock-keychain -p ${KEYCHAIN_PASSWORD} ${KEYCHAIN_PATH} || failed "unlock-keygen"# cleanecho "xcodebuild clean"xcodebuild clean -workspace ${WORKSPACE}/${PROJECT_NAME}/${PROJECT_NAME}.xcworkspace -scheme ${PROJECT_NAME} -configuration ${CONFIGURATION} || failed "xcodebuild clean"# archiveecho "xcodebuild archive"xcodebuild archive -workspace ${WORKSPACE}/${PROJECT_NAME}/${PROJECT_NAME}.xcworkspace -scheme ${PROJECT_NAME} -configuration ${CONFIGURATION} -destination generic/platform=iOS -archivePath ${xcarchivePath}/${IPAFILE_NAME}.xcarchive || failed "xcodebuild archive"# export ipaecho "xcodebuild exportArchive"xcodebuild -exportArchive -archivePath ${xcarchivePath}/${IPAFILE_NAME}.xcarchive -exportPath ${ipaPath}/${IPAFILE_NAME} -exportOptionsPlist ${WORKSPACE}/options.plist -verbose || failed "xcodebuild export archive" #-exportFormat ipa \ #-exportProvisioningProfile ${PROFILE_NAME} \ #-verbose \# run sonar#pushd ${WORKSPACE}/iphone/${PROJECT_NAME}#./run-sonar.sh#popd
設定好指令碼之後就可以構建了。
然而到這裡還是有問題,好像是在XCode9之後在命令列打包需要額外的options.plist檔案,這個檔案要放到與工程的同級目錄下
options.plist如下
<?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>compileBitcode</key><true/><key>method</key><string>ad-hoc</string><!-- 描述檔案 --><key>provisioningProfiles</key><dict><key>*****</key><string>****</string></dict><key>signingCertificate</key><string>iPhone Distribution</string><key>signingStyle</key><string>manual</string><key>stripSwiftSymbols</key><true/><!-- 團隊id --><key>teamID</key><string>團隊id</string><key>thinning</key><string><none></string></dict></plist>
至此就可以執行構建了
【iOS】Jenkins持續整合iOS包