最近配置jenkins来自动构建iOS应用,期间遇上不少问题。在这里分享给大家,也给自己留个底,方便下次解决问题。

首先说明下基本情况,我们因为部署jenkins的机器不是Mac,所以不能安装Xcode插件,我不知道这个插件能给我们带来多少便捷。最终方案就是让jenkins调用另一台用于打包的机器,让打包机执行已经写好的shell打包指令。

简单的画了个图,大概的原理就是这样的。

既然打包,肯定是要配置一些参数的,如何获取代码仓库当前的分支,其实很简单,这么易见的问题自然早就帮我们做好了

这张图展示的是获取分支,其中name:TEST_BRANCH这个参数可以随意起名字,这个也是会在最后的脚本构建中,作为参数传来。有几个配置我也不是很清楚,这么配就可以。
你可以通过类似的方式添加打包脚本所需要的参数,当你添加好之后,在点击构建时,可以看到出现了一个选择框

参数配置好后,就要添加执行的脚本
我这里就是一些git命令,第一行是远程连接来的认证,貌似在有些时候并不需要。在拉到代码之后,执行了大包命令。这里被我遮住了,给大家一个git仓库地址,基本可以满足打包的需求了,文件上传等脚本俱全。感谢作者。具体使用请看reademe。

https://github.com/webfrogs/xcode_shell

还可以添加一些构建后的操作,比如构建失败发邮件等等,可以打架自己摸索。

接下来说下遇到的问题,如果你配置不顺利的话,看看下面是否有类似的问题。

这是第一个

rsa的公钥有密码,导致jenkins通过ssh调用时,没有权限。

上图是在jenkins打包日志中获取的。

我的解决方案是建立在代码是存放在git类型的远端仓库,且使用ssh认证的方式下的。我删掉了老的rsa的公私钥,重新生成了一份公私钥,生成指令执行后,会让你输入公钥的密码,这个时候,你只需要按回车就可以生成没有密码的公钥。然后将公钥添加的git仓库中,这样就解决了这个问题。

这是第二个

jenkins连接不了打包机器,将mac的公钥添加到jenkins的免密码登陆中。(可能会在更新rsa的key时出现)

这是第三个

获取不到代码的另一个问题,git仓库需要给jenkins所使用的用户下载代码的权限。(这个问题我也不是很明白为什么,但是不加就是不行)

转载于:https://www.cnblogs.com/qianhongqiang/p/5265921.html

jenkins自动化构建iOS应用配置过程中遇到的问题相关推荐

  1. jmeter添加html,Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告...

    目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...

  2. 【二十三】win 10 :Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告

    目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...

  3. Android项目jenkins自动化构建之360加固(一)

    Android项目jenkins自动化构建之360加固(一) 最近Jenkins接手一个项目,项目自动化构建都是在jenkins上做的,包括打包构建--360加固--apk签名--邮件发送apk 总共 ...

  4. linux 内核配置过程中遇到的问题

    大家都知道在修改内核需要两步 配置和编译 在配置过程中 用到的命令 make config.make menuconfig.make xconfig 前两个是文本界面 最后一个是图形界面 不建议用最后 ...

  5. 标题:关于high-speed Charting Control配置过程中一些问题(ChartCtrl新手向)vs2019+win10-2020.12.11

    标题:关于high-speed Charting Control配置过程中一些问题(ChartCtrl新手向)vs2019+win10 最近要搞一个MFC画折线图的程序,网上看到一个人人推荐的插件,还 ...

  6. ESXi与物理交换机静态链路聚合配置过程中的小陷阱

    作者:陆斌 文章来自微信公众号:平台人生 内容简介:ESXi与物理交换机之间配置静态链路聚合时,因为静态链路聚合的特点,在进行down网卡和从虚拟交换机移除网卡的操作时,可能会无法完成故障流量切换,影 ...

  7. opc客户端读取数据品质是bad_OPC DCOM配置过程中常见问题及其处理_济南达索机电科技有限公司...

    OPC技术提供了一种互联.可靠.安全的通信平台.然而,OPC技术依赖于DCOM架构,包括Windows安全和防火墙设置.访问控制列表.Server认证等.本文给出了OPC  DCOM配置过程中最常发生 ...

  8. Maven配置过程中出现:“‘dependencies.dependency.systemPath‘ for junit:junit:jar must be omitted...”的错误

    项目场景: 在maven的配置过程中,发现在尝试下载依赖的时候,出现了些许bug. 问题描述 采用的是直接手动导入的方法.配置好阿里云镜像仓库后(该步没有出现问题),先把junit依赖下载放到&quo ...

  9. 计算机技术在油气储运的应用,自动化技术在油气储运过程中的应用分析

    马兰 尤客 陈震洹 [摘 要]随着科技的进步与发展,自动化技术在化工行业中的应用十分广泛.油田中油气的生产中以及油气的储运过程都需要用到自动化技术,其中油气的储运主要是净化.加热.储存和输送油气等环节 ...

最新文章

  1. LDO和DC-DC有什么不同?如何选型?
  2. DevOps笔记-10:金融行业分支策略的建议
  3. sql2008安装包_数据库SQL2008下载与安装图文详解
  4. 位姿检索PoseRecognition:LSH算法.p稳定哈希
  5. 个人计算机的组成及相关功能,计算机的组成部分及功能(范文).doc
  6. 用Pytorch实现逻辑回归分类
  7. Linux软件安装的几种方式
  8. Java中关于字符类型在Unicode表中表示
  9. SpringBoot使用菜鸟物流云打印电子面单
  10. window xp 自动关机命令
  11. 脉冲耦合神经网络(PCNN)的python实现
  12. 连接超时与读取超时概述
  13. 合作共赢:加密云储——穿针引线,布局IPFS分布式存储领域
  14. 一个巧妙的方法,解决Linux或者Mac环境加中文文字水印时出现小方格的问题![亲测可用]
  15. 史上最全Apidoc文档生成详解
  16. linux下查找java进程占用CPU过高原因
  17. Swing错鸡包 特殊历史脚本
  18. Oracle cursor 游标详解
  19. centos6怎么通过光盘安装yum源_Linux系统中安装软件的三种方法
  20. 【机器学习】pd.get_dummies()

热门文章

  1. #define和const的区别
  2. Linux系统监控shell脚本
  3. linux网络编程之通信协议格式
  4. mysql 笔记05 select语句以及条件语句的使用
  5. HDU 5934:Boom——强连通分量+缩点
  6. 【Verilog HDL学习之路】第二章 Verilog HDL的设计方法学——层次建模
  7. 线程与进程的控制原语对比
  8. java将字节数组转换成字符串,面试心得体会
  9. 还没吃透内存缓存LruCache实现原理的看这篇文章,跳槽薪资翻倍
  10. 力扣(LeetCode)292. Nim游戏 巴什博奕