iOS-Jenkins-TestFlight自动打包流程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS-Jenkins-TestFlight自动打包流程相关的知识,希望对你有一定的参考价值。

参考技术A

一、准备一台mac电脑
二、安装jenkins
打开终端运行:
brew install Jenkins
如果没有安装brew,请前往 brew 根据提示安装。
至少需要安装java1.8 ,如果没有安装会有提示, java
java安装完毕,链接 launchd 配置文件

启动jenkins
jenkins
打开Safari输入: http://localhost:8080/
就能看到jenkins已经运行起来了,如果你更换了端口就是你后来设置的端口。

接下来打开Jenkins后会让去一个填写password的页面如下图,存储password的地方就是图片上那行红色字体目录下,使用终端 cat + 红色字体路径就看到了

然后将我们得到的password输入到“Administrator password“中,即可进入如下界面,接着安装一些建议的插件(左边的),请等待,并全部安装成功在进行下一步。

安装完成之后,输入账户密码,登陆。开始jenkins

二、cocoapod环境安装
项目中一般会使用cocoapod管理第三方库。这个时候如果使用jenkins自动打包,就需要安装好cocoapod环境

三、jenkins使用
1、安装插件
Keychains and Provisioning Profiles Management
Xcode integration
在系统管理-> 插件管理中搜索插件

配置Keychains and Provisioning Profiles Management

请先配置好p12和Provisioning Profiles文件
需要上传login.keychain文件,该文件获取方法,在终端中输入
cd ~/Library/Keychains
将login.keychain文件upload之后,会出现下图的界面,根据需要将证书添加进去即可,但是由于macOS10.12以及以后的系统里面没有login.keychain文件,只有login.keychain-db,可以复制出来删除-db,upload就好了。(上传keychain,路径用自己改名后的那个)

然后添加Provisioning Profiles,上传方法和上传login.keychain一样,去选择Provisioning Profiles文件,然后upload,然后结果如下图,蓝色框内的是固定格式的/Users/用户名/Library/MobileDevice/Provisioning Profiles

配置好之后保存即可

3.开始配置任务
创建一个任务,自由风格的任务

General
创建一个自由风格的任务,然后在选择丢弃旧的构建,至于天数和保持的最大个数,按照自己的需求来就好

源码管理
接下来是源码管理,在Repository URL里面添加你的git地址,我这里添加的是http的,如果你的项目是使用的ssh的,那么就将git开头的地址填写上,然后点击Add添加你的git帐号,如果你的事ssh的,将ssh的密匙填写上,具体的自己百度一下就好咯,我就不多写了,结果如图

构建触发器
接下来是构建触发器,也就是什么时候触发自动打包我这里填写的是H 20 * * 这个意思就是H小时然后,后面跟着数字,在后面就是日月年, 代表的我认为是每次都触发,也就是每天每月每年,但是Jenkins的时间不是绝对的,一般都是在随机在半点,也就是设置20点,大概会在20:30分左右会触发,如果需要两个时间,那么格式可以这样H 20,22 * * *结果如图

构建环境
在构建环境里面勾选Keychains and Code Signing Identities和Mobile Provisioning Profiles,Keychains and Code Signing Identities是打包需要的证书,Mobile Provisioning Profiles是打包需要的配置文件,都是可以自己选择的,我的如图

构建环境第一次Code Signing Identity和PP文件可能有些不一样。应用,保存一下就可以了。

添加脚本

执行cocoapod脚本必须要在第一个

执行打包并且上传到TestFlight脚本

关于exportOptionsPlist
请参考 exportOptionsPlist
把exportOptionsPlist添加到infoPlist同一层并push到git

关于

问题的解决。
证书不能使用自动管理,需要手动。

感谢

jenkins系列(11)-自动打tag升级篇

   很久以前,小怪分享过一篇jenkins自动打tag的文章(),经过在项目实战和改进,我们升级了方案,现在和大家分享.,希望大家在工作中能够用起来。


使用步骤:

1、进入jenkins,打开job

2、点击【build with parameters】

3、填写tag版本号(可以参考当前版本号)

4、填写注释(本次功能点和修复的bug清单)

5、点击【开始构建】

效果:

1、在svn上自动打了一个tag

2、发送邮件给指定的人

邮件如下:

jenkins系列(11)-自动打tag升级篇



下面我们一起来做一次详细配置:

1、如图添加参数

Tag_VersionNumber:需要打的tag的版本号

tag_Current_Version:当前tag的版本list

jenkins系列(11)-自动打tag升级篇

tagLable:注释

SVN_USER:svn账号

jenkins系列(11)-自动打tag升级篇

SVN_PWD:svn账号的密码

trunk_path:开发分支代码路径

jenkins系列(11)-自动打tag升级篇

tag_path:tag存放的路径

Tag_module:需要打tag的模块,空格隔开

jenkins系列(11)-自动打tag升级篇

2、添加脚本

jenkins系列(11)-自动打tag升级篇

3、配上邮件


      好了, 本次到此, 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注、转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下:


以上是关于iOS-Jenkins-TestFlight自动打包流程的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins+Gitlab自动打TAG

电脑怎么打补丁

pads layout“自动打地孔”

jenkins系列(11)-自动打tag升级篇

jenkins系列(11)-自动打tag升级篇

自动提交打开时“设置事务”是不是启动事务?