iOS 自动化打包测试(使用jenkins、Tomcat、JDK实现)

jenkins+gitlab实现iOS自动打包的坎坷之路(本文包含CI\CD过程中的一些坑点以及一些理解及建议) 本文须知:本文成功案例是配置jekins所在服务器配置打包环境,并非在jenkins中配置打包环境。关于为何不采用在jenkins中配置打包环境将会在文中具体讲解。最后因为是基于jekins所在服务器配置的打包环境,按照本文所诉,实现ios自动打包将更易成功。 阅读详情

大家知道,一般的打包测试比较简单,都是打成ipa包 ,大致流程就是 在工程里找到product文件夹下的.app文件 showInFunder后将其拖到iTunes里 再拖出来,ok 生成的ipa包就是这样普通打包测试的包。

!!!!!今天,主要记录一下自动化打包测试的步骤!!!!!   共勉~


#如何自动打包上传App


***


##一、安装配置Tomcat服务器

 

      预先安装JDK(http://support.apple.com/kb/DL1572)

    如果不能用,参考地址:http://wlb.wlb.blog.163.com/blog/static/467413201542121552401/

 

  1. 下载 apache-tomcat 以apache-tomcat-7.0.63为例( [下载链接地址](http://pan.baidu.com/s/1pJ3M8Zp) )。

 2. 解压Zip包,将解压的apache-tomcat-7.0.63文件拷贝到Library目录下,并更名为Tomcat. 

 3. 授予文件操作权限:sudo chmod 755 /Library/Tomcat/bin/*.sh

或:(sudo chmod 755 ~/Library/Tomcat/bin/*.sh)

 4. 运行startup.sh文件,命令:sh startup.sh (记得cd到bin文件)

 5. 访问http://localhost:8080/,显示tomcat首页,tomcat安装启动成功。

 

  第4-5步也可用其他方法:TomcatController.

  安装好后配置Preferences Tomcat Home Directory: /Library/Tomcat

  点击Start 再点击 View 

   

  [TomcatController](http://pan.baidu.com/s/1jG7u5k6) 

 

 如果http://localhost:8080 出现Apache Tomcat/7.0.63 页面就说明Tomcat Ok了。

 

 

 

 ***

##二、添加JenKins war包


  * 启动tomcat 将 [jenkins.war](http://pan.baidu.com/s/1qWBSaBi) 放到 Tomcat/webapps/ 目录下

  * 打开 http://localhost:8080/jenkins/ 

  

##三、配置JenKins


1. 系统管理/管理插件/可选插件 选择下面插件并下载安装

gitlab plugin

Xcode integration

Python Plugin

Post-Build Script Plug-in

2. 系统管理/系统设置 


设置Xcode Builder:

 

添加Keychains 设置 :

Keychain Name : 自行设置

    Keychain password: 自行设置

Default keychain: 

设置Jenkins Location:

设置系统管理员邮箱地址: 自行设置

配置git服务器 Git plugin:

Global Config user.name Value: 自行设置

Global Config user.email Value: 自行设置

配置gitlab:

Gitlab host URL : (gitlab 服务器地址)

API Token :自行设置 选择你的

 

3. 创建项目


新建 - 新建项目 

1.项目名称

2.源码管理:Git  

  Repositories

Repository URL : 自行设置

Credentials : 添加-> 

Kind:SSH Username with private key

Username:自行设置

Private Key: (SSH Key)

  Branches to build : origin/master (git 分支)

3.构建触发器

4.构建 

添加构建步骤 Xcode

Target : 自行设置

Setting: Clean before build? YES;

勾选Pack application and build .ipa?

.ipa filename pattern :WeiXiang

Output directory: $(WORKSPACE)/build

Manifest Plist URL:$(WORKSPACE)/build

Code signing & OS X keychain options:

勾选Change bundle ID 

New bundle ID : 证书对应的APPBundleID

Info.plist paht :$(WORKSPACE)/WeiXiang/info.plist

Code Signing Identity: (发布证书名称)

勾选Unlock keyChain:选择第二步设置的

Advanced Xcode build options

勾选 Clean test reports?

Custom xcodebuild argument.."  

添加构建后操作步骤:(需要Post-Build Script Plug-in插件)

Execute a set of scripts -add Build setp - Execute Python script

(Python 脚本build成功后启动脚本自动打包到蒲公英并发送邮件。)立即构建

 

 



---------

* 相关链接 :

*   http://blog.youkuaiyun.com/liuc0317/article/details/10594867

* http://chuansong.me/n/1447981  

* https://www.5288z.com/?p=1411   

*  http://www.jianshu.com/p/c69deb29720d

*  https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin


 

 


Jenkins Xcode 打包脚本 打包脚本,可以直接在终端执行或者是jenkins直接运行。参数传递打包版本等信息 立即下载

相关推荐

stm32学习笔记:ADC

stm32学习笔记:ADC

hmh520i的博客 3223

IOS使用Jenkins进行持续集成

概述:为了方便测试人员测试,利用jenkins进行自动化打包并部署,减少开发人员手动打包。解除开发与测试之间的耦合,提高开发效率。 1.软件下载 需要的软件包下载地址:软件包  1.1 Tomcat安装 (1) 到apache官方主页下载 Mac 版本的完整 tar.gz文件包。解压拷贝到 /Library目录下,命名 为Tomcat,其他目录也可。 (2) 修改目录权限

努力,可能成功!放弃,注定失败! 3724

Keil MDK打开别人工程总报错?手把手教你修复‘找不到main.o’和‘未定义’的路径问题

本文详细解析Keil MDK工程移植时常见的'找不到main.o'和'未定义'编译错误,提供从路径修复到宏定义配置的完整解决方案。通过系统化的检查清单和预防措施,帮助开发者快速解决MDK工程迁移问题,提升嵌入式开发效率。

weixin_28724661的博客 399

Mac使用Tomcat运行jenkins,搭建自动发布iOS应用的过程

说明 因为默认Jenkins的安装默认使用shared用户,老是会出现权限问题,导致login.keychian无法获取,懒得去弄了,所以我决定用Tomcat配合jenkins.war运行Jenkins项目 安装JDK 到Oracle官方下载jdk,我下载的应该是Java SE 8u221 我下载的是pkg文件,所以傻瓜式安装就行了,环境变量什么的也不用配了 jdk下载地址 安装Jenkins...

u010008647的博客 436

Jetson AGX Orin 部署 JetPack:从依赖缺失到系统升级的完整排障指南

本文详细介绍了在Jetson AGX Orin开发板上部署JetPack SDK的完整排障指南,包括解决依赖缺失、系统升级和常见错误处理。通过确认硬件版本、配置正确的软件源、执行系统升级和安装核心组件等步骤,帮助开发者顺利完成JetPack的安装与配置,确保AI开发环境的稳定运行。

weixin_29172963的博客 159

深信服PT1-AF实验考试

深信服PT1-AF实验考试实验练习可以去深信服的在线实验平台(链接如下):深信服在线实验平台 (sangfor.com.cn)实验考试其实就是把所有的每一部分实验综合了起来以下内容仅做参考,不确保一样。

m0_72019240的博客 7116

Jenkins项目实战之-xcode+jenkins自动化打iOS包

前面两篇文章详细介绍了如何在Jenkins上实现了android打包,这篇继续折腾,介绍如何基于xcode插件在jenkins上打包。由于前面介绍详细,所以,本篇,不是重点地方,就不贴图显示。这次研究iOS打包的时间比android还要多一天,看了很多别人介绍的xcode的jenkins打包,跟着别人做了一半,发现不适合自己情况,或者没法继续走下去。因为你出现的报错,人家在博客里没有出现。反反复复

Anthony_tester的博客 5917

手把手教您解决 AdGuard Home DNS重写功能失效的问题

AdGuard Home 设置了 DNS 重写,规则明明没问题,客户端却死活解析不到内网 IP?🤯 别急着重装!🚫 本文手把手教你如何解决软路由 DNS 解析“玄学”故障!🛠️🚀

XiaoqiangClub的博客 920

jenkins xcodebuild命令行打包iOS项目问题汇总

这几天折腾了jenkins对iOS项目的持续集成,碰到了很多问题,记录下吧 xcodebuild: error: The project named “Foo” does not contain a scheme named “Bar”. The “-list” option can be used to find the names of the schemes in the project. 解

西涛offbye-移动全栈技术博客 1万+

【Block总结】DiffAttention,差分注意力融入CLIP架构,抑制噪声,增强对相关特征的关注|即插即用

DiffCLIP通过微小的结构改动实现了显著的性能提升,为多模态模型的轻量化与高效化提供了新范式。

AI浩 1561

【SpringBoot 4.x 第70节】夯爆了,企业级 API 设计规范落地:状态码、错误码、接口文档与兼容性(超详解)!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。本专栏面向 有一定 Java 基础,但尚未系统学习 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,带你从第一个 Hello API 开始,逐步完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 131

Tomcat Jenkins iOS自动打包

Tomcat Jenkins iOS自动打包 Jenkins 可以配合测试人员或者 CI 打包,主要作用是提供打包页面选择和参数传递,最后打出 ipa 包。 打包方式有如下几种 借助 Jenkins Xcode插件,配置好参数打包 自行编写脚本打包(xcodebuild) 使用脚本唤起 fastlan 打包 当然首选直接配置了,不过还是会遇到很多配置的坑,我总共打了50次才成功。 前言:使用 brew 安装软件可以避免很多问题,打包失败,多半是配置和路径问题。 注意:需要安装 JDK 环境 JDK安

小桥流水哗啦啦,iOS Coder 哒哒哒 1130

高效与灵活相结合:Verilog编写的跨时钟域循环缓冲控制器解析

循环缓冲区,也被称作循环队列、环形缓冲区,是一种数据结构,其主要特性是使用一个固定大小的缓冲区作为数据的存储空间,这个缓冲区在逻辑上被视作是首尾相接的。虽然Verilog是一种常用的硬件描述语言,被广泛应用在FPGA和ASIC设计中,但是在描述循环缓冲区时,它并没有提供一种直接且灵活的方式来指定循环缓冲区的参数,如字长、缓冲区深度、缓冲区数量等。这给硬件设计带来了一定的不便。同时,该控制器的设计也充分考虑了硬件资源的利用率,通过优化的算法和数据结构,使得在实现高性能的同时,也能够有效地节省硬件资源。

qq_38334677的博客 1221

使用Jenkins实现自动化打包

使用Jenkins实现自动化打包 Jenkins个开源的持续集成工具,不仅可以用来进行Android打包,也可以用来进行iOS打包、NodeJs打包、Java服务打包等。 The leading open source automation server, Jenkins provides hundreds of plugins to support building, deployin...

Charon_Chui的专栏 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python自动化部署jenkins_JenKins自动化构建部署流程参考

Jenkins工作流程程序员提交代码到Git/SVN仓库,触发钩子程序向 JenKins 进行通知,Jenkins 调用Git/SVN插件获取源码,调用Maven打包为war包,调用Deploy to web container插件部署到Tomcat服务器。独立还是ServletJenkins可以使用自己的内置Web服务器(Jetty)在自己的进程中独立运行。它也可以作为现有框架中的一个servl...

weixin_39604280的博客 465

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IOS使用Jenkins持续集成

本文详细介绍了开发过程,提高效率进行IOS-Jenkins持续集成。 第二http://blog.youkuaiyun.com/monkey_cool/article/details/43270885 背景 平时我们开发完毕IOS项目,须要打包给測试人员进行測试。当中的过程须要反复进行:改动配置项--编译---连接设备--执行打包--debug进设备中--然后交给等待的測试人员。现有成熟的持续集...

weixin_30300225的博客 114

gitlab+jenkins之环境搭建

文中用到的安装包都已经上传到百度网盘,下载地址在文章底部(还没传...) 前置条件: 为了节约配置时间,在正式配置前,应该先做好如下准备:   首先先把整个流程仔仔细细的看3遍,确认对配置整体的流程,配置时要注意点都有一个大概的印象。起码知道配置到这一步时,应该注意哪些点。切忌一上来就照着博客配置,这样非常容易掉进各种奇葩的坑里。   然后确认你需要的硬件配置是否都到位了...

aff60756的博客 320

【Day 52 】Linux-Jenkins

Jenkins是一款开源的自动化服务器,主要用于实现持续集成(CI)和持续部署(CD)。它支持代码构建、测试、部署等自动化流程,并提供丰富的插件生态(如Git、Maven、Docker等)。部署Jenkins需要JDK环境,可通过阿里云镜像快速安装。初始化后需配置全局工具(如JDK、Maven路径)和常用插件(如Git、SSH等)。Jenkins支持通过流水线(Pipeline as Code)定义自动化任务,并能与Gitee、SpringBoot等项目集成,实现从代码提交到部署的全流程自动化。

2301_81654480的博客 1098

jenkins+Gitlab+maven+tomcat实现自动化集成、打包、部署。

为什么需要持续集成呢? 1.因为在开发的过程中,用于阶段性地构建出产品。这样可以更加清楚地审视产品的不足之处。2.由于在某些情况下,例如有紧急bug的时候,研发的版本更新可能很频繁,部署持续集成环境,可以减少每次部署所花费的时间。化整为零:1.这套组合可以分成源码管理、编译构建、远程部署2.源码管理常见的有gitlab、SVN3.编译构建是针对编译型语言的。此处针对Java语言使用Maven、针对...

weixin_34281477的博客 287

Android多渠道打包这样做才酸爽!?

多渠道主要目的是为了统计各个应用市场用户数据分析(比如活跃数,崩溃率等),收集用户信息,这时需要唯一标识来区分这些渠道,本文主要针对多渠道(几百个渠道甚至更多的情况)如何快速打包? 目的 Jenkins集成Gradle实现打包自动化 通过Jenkins参数化构建...

chuzhuo9521的博客 160
上一篇: 按钮事件响应的注意点
下一篇: 用户账号的归档和反归档(示例代码说明)
Magical_master
博客等级 码龄11年 8粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值