iOS 2019最新Jenkins集成gitblit實現自動打包攻略

集成Jenkins手動打包

  1. 下載地址 [jenkins.io/zh/download…]html

  2. JDK 8及以上 [download.oracle.com/otn/java/jd…]java

  3. 安裝完後默認啓動 [http://localhost:8080]git

  4. 安裝推薦插件 shell

    image.png

  5. 安裝Xcode相關插件macos

    1.Keychains and Provisioning Profiles Management
    2.Xcode integration
    複製代碼
  6. 配置Keychains and Provisioning Profiles Management 點擊選擇文件分別上傳證書和描述文件,可添加多個 xcode

    image.png

  7. 複製證書和描述文件到Jenkins目錄 (1)描述文件目錄:/Users/用戶名/Library/MobileDevice/Provisioning Profiles (2)證書目錄:/Users/用戶名/Library/Keychains/login.keychain(注意:要把keychain-db更名爲keychain) (3)jenkins目錄:/用戶/共享/Jenkins/Library/ bash

    image.png

    image.png

  8. 建立任務 oracle

    image.png

  9. 源碼管理 若是使用ssh,則須要把私鑰填寫下 若是生成過,則目錄在/Users/apple/.ssh/id_rsa,若是沒生成過,則經過命令生成:app

ssh-keygen -t rsa
複製代碼

image.png

點擊添加,填寫Git帳號 ssh

image.png

填寫ssh私鑰

image.png

  1. 構建環境 勾上keychain和provisioning profile

    image.png

  2. 構建:選擇shell腳本

    ###############設置需編譯的項目配置名稱
    buildConfig="Release" #編譯的方式,有Release,Debug,自定義的AdHoc等
    target_name="<這裏是targetname>"  
    workspace_name="${target_name}.xcworkspace" 
    scheme="$target_name"  
    ExportOptionsPlistPath="./ExportOptions.plist"
    
    scheme_name="這裏是schemename"
    
    # 強制刪除舊的文件夾
    #rm -rf ./$scheme_name-IPA
    # 指定輸出ipa路徑
    export_path=./$scheme_name-IPA
    # 指定輸出歸檔文件地址
    export_archive_path="$export_path/$scheme_name.xcarchive"
    # 指定輸出ipa地址
    export_ipa_path="$export_path"
    
    isWorkSpace=true  #判斷是用的workspace仍是直接project,workspace設置爲true,不然設置爲false
    
    echo "~~~~~~~~~~~~~~~~~~~開始編譯~~~~~~~~~~~~~~~~~~~"
    
    ###############進入項目目錄
    cd ${PWD}/<項目名稱>
    #rm -rf ./build
    
    ###############獲取版本號,bundleID
    infoPlist="${PWD}/<這裏是targetname>/Info.plist"
    
    bundleVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $infoPlist`
    bundleIdentifier=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" $infoPlist`
    bundleBuildVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $infoPlist`
    ###############開始編譯app
    echo "版本信息"
    echo $bundleVersion
    echo $bundleIdentifier
    echo $bundleBuildVersion
    echo -workspace
    
    security unlock-keychain -p <電腦開機密碼> ~/Library/Keychains/login.keychain
    
    echo "~~~~~~~~~~~~~~~~~~~pod install~~~~~~~~~~~~~~~~~~~"
    
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    
        #第一次執行了pod以後就不用再次執行了
    pod install --verbose --no-repo-update  
    echo  "開始編譯workspace...." 
    
    
    xcodebuild archive -workspace "$workspace_name" -scheme "$scheme" -configuration $buildConfig -archivePath $export_archive_path
    
    CODE_SIGN_IDENTITY="證書名稱例如iPhone Distribution: xxxxxx. (7B9ZX5MLNC)" 
    PROVISIONING_PROFILE="描述文件編號例如e17c3d73-ed17-4cd1-a669-2e1759e3a5c6"
    
    echo "~~~~~~~~~~~~~~~~~~~ 編譯完成~~~~~~~~~~~~~~~~~~~"
    echo "~~~~~~~~~~~~~~~~~~~ 開始打包~~~~~~~~~~~~~~~~~~~"
    
    echo "開始打包$projectName.app成$projectName.ipa....."
    echo "打包地址$export_archive_path"
    echo "輸出地址$export_ipa_path"
    
    xcodebuild -exportArchive -archivePath $export_archive_path -exportPath $export_ipa_path -exportOptionsPlist $ExportOptionsPlistPath CODE_SIGN_IDENTITY=$CODE_SIGN_IDENTITY PROVISIONING_PROFILE=$PROVISIONING_PROFILE
    複製代碼

集成gitblit自動打包

  1. 下載gitblit 地址:[gitblit.com/] 參考網站: (1)[blog.csdn.net/qq_40646143…] (2)[www.cnblogs.com/toughlife/p…] (3)[www.cnblogs.com/cudong/p/65…]

    image.png

  2. 運行gitblit.sh文件

    image.png

  3. 登錄帳號 帳號密碼初始值:admin

  4. 建立版本庫 點擊版本庫->點擊新建版本庫

    image.png

  5. 配置ssh公鑰 (1)點擊用戶中心

    image.png

    (2)點擊ssh keys,添加ssh key,若是生成過,則目錄在/Users/apple/.ssh/id_rsa.pub,若是沒生成過,則經過命令生成:

    ssh-keygen -t rsa
    複製代碼

    image.png

  6. 配置jenkins.groovy文件,目錄在/Users/apple/Documents/gitblit-1.8.0/data/groovy/jenkins.groovy,把jenkinsGitbaseurl改爲本身項目的URL域名(不帶倉庫名字)

    image.png
    image.png

  7. 配置gitblit的post-receive 腳本,選擇gitblit倉庫的對應設置頁面,選擇剛纔改好的jenkins.groovy並保存

    image.png

  8. Jenkins配置觸發器

    image.png

大功告成!!!接下來每次提交代碼至master分支就能夠出發打包啦

相關文章
相關標籤/搜索