美文网首页
ios-jekins

ios-jekins

作者: 不排版 | 来源:发表于2018-03-21 11:13 被阅读17次

    第一、安装Jenkins 。
    安装Jenkins在mac上我用过三种,分别是下载jenkins.pkg 安装包、把Jenkins.war包放到在Tomcat的发布目录下即webapp下、用brew install jenkins。(我是用最后一种才运行成功的)。
    第一种安装遇到的坑是:从git上拉取不下代码,不论是用http的方式还是用ssh的方式都不能拉取下来。有的人说ssh连不上可能是Jenkins运行时候是一Jenkins这个用户运行,不是以root啊,登录用户运行。建议切换到Jenkins用户,生成ssh的公钥和私钥。代码如下:
    su jenkins
    ssh-keygen -t rsa -C "你的邮箱标识" -f ~/.ssh/jenkins
    然后把你的公钥和私钥分别放到git的ssh keys 和 Jenkins
    具体参考[这篇文章](http://www.jianshu.com/p/ed0edb93e234
    虽然我没有用第一种安装实现从git上取代码但是认为我不能pull 下代码原因肯能是git服务器限制了我的ip了。
    第二、配置git。
    我是通过brew install jenkins 安装的。
    brew install jenkins
    下面的2.93请换成自己的版本。具体到自己对应目录找。下面的8888是设定端口号。下面的命令也可以作为每次的启动命令。比如你把电脑关闭后想重新登录Jenkins可以用它。
    java -jar /usr/local/Cellar/jenkins/2.93/libexec/jenkins.war --httpPort=8888
    安装后出化Jenkins可以参考这篇文章安装和建立一个项目http://www.jianshu.com/p/c7b951b9b4f2
    我是以http的pull git上的代码的。如下图填写git服务器http地址:

    image.png

    在Username中填上你登录git的用户名。password填登录git的密码。description随便写。ID不用填。
    上面的配置好后,可以保存。然后跑一下看是否成功pull git上的代码。
    第三、打包发布iosx项目
    我没有用xcode插件,原因是老师提示签名有问题。最后试了好多方法不行最后决定用Execute shell 。最后用shell 成功了 。
    代码如下:

    #scheme_name为项目名称
          scheme_name="xxxx"
    #build_configuration 为Debug  or  Release
      build_configuration="Release"
    #定义一个变量后面要用到
      info_plist_name="Info"
    #进入项目目录
      cd /Users/jfjb/.jenkins/workspace/defense_gov
    # 获取项目名称
    project_name=`find . -name *.xcodeproj | awk -F "[/.]" '{print $(NF-1)}'`
    # 获取版本号,内部版本号,bundleID
    info_plist_path="$project_name/$info_plist_name.plist"
    bundle_version=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $info_plist_path`
    bundle_build_version=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" $info_plist_path`
    bundle_identifier=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $info_plist_path`
    
    # 强制删除旧的文件夹
    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"
    # 指定输出ipa名称 : scheme_name + bundle_version
    suffix=`date +"%m%d%H%M"`
    ipa_name="$scheme_name-v$bundle_version_$suffix"
    version="$bundle_version.$suffix"
    /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $version" "$info_plist_path"
    #打包是用的文件
     ExportOptionsPlistPath="../shell/DevelopmentExportOptionsPlist.plist"
    # 指定输出文件目录不存在则创建
    if test -d "$export_path" ; then
        echo $export_path
    else
        mkdir -pv $export_path
    fi
        echo "************************* 开始pod *************************"
        pod install --verbose --no-repo-update
        echo "************************* pod完成 *************************"
            #clean
            xcodebuild clean -workspace $project_name.xcworkspace -scheme $scheme_name -configuration $build_configuration 
            # step 2\. Build
            xcodebuild -workspace $project_name.xcworkspace -scheme $scheme_name -sdk iphoneos -configuration $build_configuration  
            # step 3\. Archive
            xcodebuild archive -workspace $project_name.xcworkspace -scheme $scheme_name -configuration $build_configuration -archivePath $export_archive_path
    
    xcodebuild -exportArchive -archivePath $export_archive_path -exportPath $export_ipa_path -exportOptionsPlist $ExportOptionsPlistPath
    
    mv $export_ipa_path/$scheme_name.ipa $export_ipa_path/$ipa_name.ipa
    if test -f "$export_ipa_path/$ipa_name.ipa" ; then
        echo "************************* 导出 $ipa_name.ipa 包成功*************************"
    
        else
        echo "************************* 导出 $ipa_name.ipa 包失败 *************************"
        exit 1
    fi
    
    

    如果上述不是太清楚可以参考这篇文章(http://www.jianshu.com/p/ad4a9c40ae59)我就是参考这篇文章弄好的有所改动。就运行成功了。
    最是是发布了。先在Jenkins系统管理->插件管理->高级里面上传fir-plugin-1.9.5.hpi文件。前提是已经下载好这个文件。
    最上传fir 如下

    image.png

    相关文章

      网友评论

          本文标题:ios-jekins

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