iOS 2019最新Jenkins集成gitblit实现自动打包攻略

857 阅读2分钟

集成Jenkins手动打包

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

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

  3. 安装完后默认启动 [http://localhost:8080]

  4. 安装推荐插件

    image.png

  5. 安装Xcode相关插件

    1.Keychains and Provisioning Profiles Management
    2.Xcode integration
    
  6. 配置Keychains and Provisioning Profiles Management 点击选择文件分别上传证书和描述文件,可添加多个

    image.png

  7. 复制证书和描述文件到Jenkins目录 (1)描述文件目录:/Users/用户名/Library/MobileDevice/Provisioning Profiles (2)证书目录:/Users/用户名/Library/Keychains/login.keychain(注意:要把keychain-db改名为keychain) (3)jenkins目录:/用户/共享/Jenkins/Library/

    image.png

    image.png

  8. 创建任务

    image.png

  9. 源码管理 如果使用ssh,则需要把私钥填写下 如果生成过,则目录在/Users/apple/.ssh/id_rsa,如果没生成过,则通过命令生成:

ssh-keygen -t rsa

image.png

点击添加,填写Git账号

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分支就可以出发打包啦