iOS jenkins配置

brew install jenkins-lts

Execute shell


rm -rf build


/usr/bin/xcodebuild clean archive -archivePath build/XXXX.xcarchive -scheme XXXX -workspace XXXX.xcworkspace -configuration ${BUILD_TYPE}

/usr/bin/xcodebuild -exportArchive -archivePath "build/XXXX.xcarchive" -exportOptionsPlist Development-ExportOptions.plist -exportPath build/
#/usr/bin/xcodebuild -exportArchive -archivePath "build/XXXX.xcarchive" -exportOptionsPlist Distribution-ExportOptions.plist -exportPath build/

BundleVersion=`/usr/libexec/PlistBuddy -c "print CFBundleVersion" XXXX/Info.plist`
BundleShortVersionString=`/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" XXXX/Info.plist`

ssh username@xxx.xxx.xxx.xxx "mkdir -p /xxxx/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}"
ssh username@xxx.xxx.xxx.xxx "mkdir -p /xxxx/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}/XXXX.xcarchive"
scp ${WORKSPACE}/build/XXXX.ipa username@xxx.xxx.xxx.xxx:/xxxx/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa
scp -r ${WORKSPACE}/build/XXXX.xcarchive/BCSymbolMaps/ username@xxx.xxx.xxx.xxx:/xxxx/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}/XXXX.xcarchive/



#生成install.manifest.plist
echo "<?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>items</key>
   <array>
       <dict>
           <key>assets</key>
           <array>
               <dict>
                   <key>kind</key>
                   <string>software-package</string>
                   <key>url</key>
                   <string>https://xxx.xxx.xxx/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>display-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>http://xxx.xxx.xxx/jenkins-result/icon.png</string>
               </dict>
           <dict>
                   <key>kind</key>
                   <string>full-size-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>http://xxx.xxx.xxx/jenkins-result/icon.png</string>
               </dict>
           </array><key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string>xxx.xxx.xxx</string>
               <key>bundle-version</key>
               <string>${BundleShortVersionString}</string>
               <key>kind</key>
               <string>software</string>
               <key>subtitle</key>
               <string>DB</string>
               <key>title</key>
               <string>XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa</string>
           </dict>
       </dict>
   </array>
</dict>
</plist>" > ${WORKSPACE}/build/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa.install.manifest.plist

scp ${WORKSPACE}/build/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa.install.manifest.plist username@xxx.xxx.xxx.xxx:/XXXX/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa.install.manifest.plist

#生成ipa安装install.html
echo "<!DOCTYPE HTML>
<html>
  <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />
    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
    <title> iOS-XXXX-DB </title>
    <style>
    div {
      margin-top: 10px;
      margin-bottom: 5px;
      margin-left: 10px;
      margin-right: 10px;
      font-size: 20px;
    }
    </style>
  </head>
  <body>
    <div>点击安装</div>
    <div>
     <a href=\"itms-services://?action=download-manifest&url=https://xxx.xxx.xxx/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa.install.manifest.plist\">XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa</a>
    </div>
  </body>
</html>" > ${WORKSPACE}/build/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa.install.html

scp ${WORKSPACE}/build/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa.install.html username@xxx.xxx.xxx.xxx:/XXXX/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa.install.html



IpaInstallUrl="https://xxx.xxx.xxx/jenkins-result/${JOB_NAME}/${BUILD_NUMBER}/XXXX_${BRANCH}_${BundleVersion}_${BundleShortVersionString}_${BUILD_NUMBER}_${BUILD_TYPE}.ipa.install.html"

echo "BundleVersion=${BundleVersion}\nBundleShortVersionString=${BundleShortVersionString}\nIpaInstallUrl=${IpaInstallUrl}" > build/jenkins.env.properties

Team ID
XCode->Build Settings->Code Signing Identity->(括号中)

Debug
Release
打开权限/Users/Shared/Jenkins/Library

拷贝/Users/xxxxxx/Library/MobileDevice/Provisioning Profiles/*.mobileprovision 到 /Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles/
拷贝
/Users/xxxxxx/Library/Keychains/login.keychain
/Users/xxxxxx/Library/Keychains/login.keychain-db
到
/Users/Shared/Jenkins/Library/Keychains/login.keychain
/Users/Shared/Jenkins/Library/Keychains/login.keychain-db
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k MAC_LOGIN_KEYCHAIN_PASSWORD_XXXXX /Users/Shared/Jenkins/Library/Keychains/login.keychain-db
To have launchd start jenkins-lts now and restart at login:
  brew services start jenkins-lts
Or, if you don't want/need a background service you can just run:
  jenkins-lts
mac升级后jenkins无法启动

sudo chown jenkins /var/log/jenkins
sudo chown jenkins /var/log/jenkins/jenkins.log
xcodebuild打包签名授权弹窗

security import xxx.p12 -T /usr/bin/codesign
sudo cp ~/Library/Keychains/login.keychain-db /Users/Shared/Jenkins/Library/Keychains/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值