美文网首页
Jenkins集成测试的一些问题 Xcode + Gitlab

Jenkins集成测试的一些问题 Xcode + Gitlab

作者: CoderShmily | 来源:发表于2017-04-22 18:15 被阅读158次

    详细的安装过程网上很多教程,这里就不在叙述,只记录一点遇到的问题。

    问题一:拉取git源码提示的错误

    ERROR: Error fetching remote repo 'origin'
    
    WX20170422-181802@2x.png
    1. 关于源码,我用的gitlab的,gitlab上面ssh处添加.ssh/id_rsa的公钥


      源码配置
    2. jenkins写完仓库地址后git@111.11.11.11:ixxxx.git点击下面Credentials的Add添加如下格式,然后Credentials选择刚才的配置
      195A9586-FF4D-4D7B-A561-32F32F0331E0.png

    问题二:钥匙串keychain和描述文件 Provisioning profile错误

    安装插件


    WX20170422-231917@2x.png

    到Jenkins系统管理中找到它


    WX20170422-231936@2x.png

    /Users/用户名/Library/Keychains/login.keychain
    

    找到login.keychain或者login.keychain-db上传,如果是login.keychain-db建议复制一份为login.keychain然后上传,因为上传要求的文件后缀为keychain或者描述文件。

    FD498CBB-C029-4E4E-9600-2A9FA9E3ABE1.png
    如果还有keychain错误就到
    /Users/用户名/Library/Keychains/login.keychain
    

    拷贝到

    /Users/Shared/Jenkins/Library/Keychains
    

    目录下,没有就一级级创建出来。
    如果报描述文件不匹配找不到之类的就到

    /Users/用户名/Library/MobileDevice/Provisioning\ Profiles 
    

    拷贝里面的描述文件到

    /Users/Shared/Jenkins/Library/MobileDevice/Provisioning\ Profiles
    

    目录下,没有就一级级创建出来。
    还不懂的话可以参考此插件的一些
    Keychains and Provisioning Profiles使用说明

    问题三:CopyPNGFile failed或者Can't exec Usage: xcscontrol

    具体错误如下

    CopyPNGFile build/Debug-iphoneos/CloudShop.app/Menu_MyEarnings@3x.png Resources/Images/Menu_MyEarnings@3x.png
        cd /Users/Shared/Jenkins/Home/jobs/test/workspace
        export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
        /Applications/Xcode.app/Contents/Developer/usr/bin/copypng -compress -strip-PNG-text /Users/Shared/Jenkins/Home/jobs/test/workspace/Resources/Images/Menu_MyEarnings@3x.png /Users/Shared/Jenkins/Home/jobs/test/workspace/build/Debug-iphoneos/CloudShop.app/Menu_MyEarnings@3x.png
    execvP: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin: path too long
    execvP: /Applications/Xcode.app/Contents/Developer/usr/bin: path too long
    execvP: /usr/bin: path too long
    execvP: /bin: path too long
    execvP: /usr/sbin: path too long
    execvP: /sbin: path too long
    Can't exec "Usage: xcscontrol
    -h, --help, --usage                                     Prints usage information for xcscontrol
    --version                                               Displays version information
    --preflight
    
    The following build commands failed:
        CopyPNGFile build/Debug-iphoneos/CloudShop.app/Menu_MyEarnings@3x.png Resources/Images/Menu_MyEarnings@3x.png
        CopyPNGFile build/Debug-iphoneos/CloudShop.app/Menu_Recommend_Add@2x.png Resources/Images/Menu_Recommend_Add@2x.png
        CopyPNGFile build/Debug-iphoneos/CloudShop.app/Menu_Settings@2x.png Resources/Images/Menu_Settings@2x.png
        CopyPNGFile build/Debug-iphoneos/CloudShop.app/tabBarItemNoticeSel@3x.png Resources/Images/tabBarItemNoticeSel@3x.png
    

    删除Xcode目录下的xcscontrol

    /Applications/Xcode.app/Contents/Developer/usr/bin/xcscontrol
    

    问题四:xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH

    Xcode升级到8.3后 用命令进行打包 提示下面这个错误。后面根据对比发现新版的Xcode少了这个PackageApplication
    先去找个旧版的Xcode里面copy一份过来
    放到下面这个目录:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
    

    然后执行命令

    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
    
    chmod +x /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication
    

    最后附上PackageApplication下载地址PackageApplication下载地址

    问题五:Jenkins上git出现Timeout的问题

    jenkins上现有的git插件并没有配置超时的选项,因此在clone项目时如果网络差会出现“ERROR: Timeout after 10 minutes”,导致无法继续构建。

    网上找到一个解决方法:http://jenkins-ci.361315.n4.nabble.com/Windows-git-plugin-git-client-plugin-problems-td4690288.html

    启动Jenkins的时候加上

     -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=60
    
    java -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=60 -jar /usr/local/Cellar/jenkins/2.70/libexec/jenkins.war
    

    war版的,改下tomcat的启动配置。

    对于安装版,需要修改Jenkins安装目录下的jenkins.xml,在arguments中增加该参数。例如:

    <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=60 -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
    

    配置后重启Jenkins,再次进行构建,超时设置便为60。

    问题五:keys_to_symbols':[31m[!] undefined method `each_with_object' for nil:NilClass[0m (NoMethodError)

    Xcode打包生成的ExportOptions.plist 拷贝到

    ~/.jenkins/workspace/工程名/ 
    

    相关文章

      网友评论

          本文标题:Jenkins集成测试的一些问题 Xcode + Gitlab

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