美文网首页
iOS持续集成Jenkins + git + cocopods+

iOS持续集成Jenkins + git + cocopods+

作者: nadou23 | 来源:发表于2019-07-27 12:49 被阅读0次

    1.首先推荐用命令行安装jenkins 因为用安装包安装可能会在打包阶段会有权限问题。
    如果没有安装brew,请先安装

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    由于jenkins需要java环境,所以需要安装java ,至少java5版本以上

    brew cask install java
    

    最后上面都有安装,就可以安装jenkins

    brew install jenkins
    

    安装成功后,启动方法有两种:
    第一种:

    sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
    

    第一种安装过程中若提示org.jenkins-ci.plist 文件未找到手动创建即可

    sudo touch /Library/LaunchDaemons/org.jenkins-ci.plist
    

    再cd到org.jenkins-ci.plist文件进行内容编辑(2.186需要根据你安装的Jenkins版本进行更改)

    <?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>Label</key>
    <string>Jenkins</string>
    <key>ProgramArguments</key>
    <array>
    <string>/usr/bin/java</string>
    <string>-jar</string>
    <string>/usr/local/Cellar/jenkins/2.186/libexec/jenkins.war</string>
    </array>
    <key>OnDemand</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>UserName</key>
    <string>admin</string>
    </dict>
    </plist>
    

    第二种:

    Jenkins
    

    2.运行并使用Jenkins
    如果浏览器没有自动打开,可以通过这个
    (http://localhost:8080/)打开
    如果首次能出现如下网页,就说明你真正安装成功

    4248528-b0bd425ae47e43ce.png
    输入对应目录下的密码,就可以进入安装插件流程
    662374-094874167b638c59.png
    如果出现提示:该jenkins实例似乎已离线
    1235834-20180723182750635-283997720.png
    打开链接(http://localhost:8080/pluginManager/advanced
    )打开配置页面,把其中的https改为http,然后提交(submmit),重新打开Jenkins
    20181025171101993.png

    如果出现一直处于加载状态,请耐心等待,当然也可以多刷新几次页面,安装默认插件过程中,报如果提示缺少cloudbees-folder的,可以前往这里下载其插件cloudbees-folder
    然后拷贝到下图位置

    58622a922485c.png
    如果出现下图,说明插件正在安装
    662374-68017ebd29bea476.png
    接下来就是漫长的等待,如果中途等不耐烦,刷新页面,可能会提示重新安装,不过不影响安装结果,点重新就可以。
    可能安装完了很多插件都没安装成功,如图
    662374-8d9318127a6607fe.png
    不管它先,点击继续,就进入登陆账号页面,你可以创建账号,也可以点击continue as admin
    662374-d05dc4decff1f9a0.png
    显示ready页面,就说明jenkins启动成功了。
    662374-b084a13d336d98b8.png

    3.安装插件
    3.1iOS的常用插件基本是:

    Xcode integration
    Git client plugin
    Git plugin
    PostBuildScript Plugin
    

    其中postbuildscript是构建后,提交到fir时,需要用到
    3.2插件安装方法
    jenkins首页—>系统管理—>管理插件—>可选插件—>过滤搜索—>直接安装


    662374-489f7fe2b29bd1d0.png 662374-709e4943723a0580.png

    这里就可以先把之前没有安装成功的插件再次安装,最好是安装失败的插件安装成功了,再安装ios项目需要的几个插件
    4.jenkins项目的配置使用
    4.1新建项目:Jenkins首页—>新建
    (1)General:根据需要选择
    a)项目名称(Enter an itemname;类型:构建一个自由网格的软件项目)
    b)项目描述


    662374-fb286a86069a12a6.png
    屏幕快照 2019-07-27 上午11.43.34.png

    4.2.源码管理
    这部分主要是从哪获取代码,SVN或者GIT,我的项目用了GIT
    情况1:Git(路径、帐号、密码)
    情况2:Subversion(路径、帐号、密码)
    情况3:None(使用本地项目)


    屏幕快照 2019-07-27 上午11.49.47.png
    4.3构建触发器:根据需要选择(可不选)
    662374-ae542d99321b67fb.png
    4.4构建环境
    我没做处理
    4.5因为是xcode10,只能使用脚本进行,而又由于项目用了cocopods进行第三方管理,所以需要先添加pod update的脚本,再加构建项目编译打包脚本。
    屏幕快照 2019-07-27 下午12.07.05.png

    这里说下${WORKSPACE}这个环境变量:
    代表的是:/Users/用户名/.jenkins/workspace
    具体的构建脚本

    #bin/bsah - l
    export LANG=en_US.UTF-8
    export LANGUAGE=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    cd $WORKSPACE/xxxxx
    /usr/local/bin/pod update --verbose --no-repo-update
    
    #!/bin/bash -l
    SHCEME=xxxxx
    CONFIGURATION=Debug
    WORKSPACE_PATH=${WORKSPACE}/xxxx.xcworkspace
    #PROFILE_NAME=“xxxxx”
    #CODE_SIGN="iPhone Developer: xxxxx (xxxxx)"
    EXPORT_OPTIONS=${WORKSPACE}/ExportOptions.plist
    ArchivePath=${WORKSPACE}/build/xxxxx.xcarchive
    PacktName=${WORKSPACE}/build/xxxxx.ipa
    #CODE_SIGN_IDENTITY="$CODE_SIGN" PROVISIONING_PROFILE_SPECIFIER="$PROFILE_NAME"
    #xcodebuild clean -project xxxxx.xcodeproj -scheme $SHCEME -configuration $CONFIGURATION -alltargets
    xcodebuild archive -workspace ${WORKSPACE_PATH} -scheme ${SHCEME} -configuration ${CONFIGURATION} -sdk iphoneos -archivePath ${ArchivePath}
    xcodebuild -exportArchive -archivePath ${ArchivePath} -exportPath ${PacktName} -exportOptionsPlist ${EXPORT_OPTIONS}
    

    重点在于ExportOptions.plist是要自己放在指定目录里的,否则就会报错。xxxxx是项目名或者证书名

    4.6.构建后操作
    上传fir:
    有两种方法:
    4.6.1可以直接上传fir插件fir-plugin到jenkins插件
    然后就构建后操作就多了个upload to fir.im


    屏幕快照 2019-07-27 下午12.34.52.png
    屏幕快照 2019-07-27 下午12.35.25.png

    5.点击保存,然后点击构建就可以了。可以点击下图,查看后台进度,尤其是报错时,可以查看具体报错


    屏幕快照 2019-07-27 下午12.39.44.png

    相关文章

      网友评论

          本文标题:iOS持续集成Jenkins + git + cocopods+

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