美文网首页工作生活
iOS 2019最新Jenkins集成gitblit实现自动打包

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

作者: 红枫叶HM | 来源:发表于2019-07-04 14:16 被阅读0次

    集成Jenkins手动打包

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

    2. JDK 8及以上
      [https://download.oracle.com/otn/java/jdk/8u212-b10-demos/59066701cf1a433da9770636fbc4c9aa/jdk-8u212-macosx-x86_64-demos.zip]

    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
      地址:[http://gitblit.com/]
      参考网站:
      (1)[https://blog.csdn.net/qq_40646143/article/details/79755144]
      (2)[https://www.cnblogs.com/toughlife/p/9821240.html]
      (3)[https://www.cnblogs.com/cudong/p/6526457.html]

      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
    1. 配置jenkins.groovy文件,目录在/Users/apple/Documents/gitblit-1.8.0/data/groovy/jenkins.groovy,把jenkinsGitbaseurl改成自己项目的URL域名(不带仓库名字)


      image.png
      image.png
    2. 配置gitblit的post-receive 脚本,选择gitblit仓库的对应设置页面,选择刚才改好的jenkins.groovy并保存


      image.png
    3. Jenkins配置触发器


      image.png

    大功告成!!!接下来每次提交代码至master分支就可以出发打包啦

    相关文章

      网友评论

        本文标题:iOS 2019最新Jenkins集成gitblit实现自动打包

        本文链接:https://www.haomeiwen.com/subject/gonlhctx.html