最近测试打包实在烦的不要不要的,一天打N多个包。这样之后,让测试小哥哥小姐姐自己操作就行了。

Jenkins

houjianan:~> brew install Jenkins
Updating Homebrew...
jenkins: Java 1.8 is required to install this formula.
JavaRequirement unsatisfied!
You can install with Homebrew Cask:brew cask install homebrew/cask-versions/java8
You can download from:[https://www.oracle.com/technetwork/java/javase/downloads/index.html](https://www.oracle.com/technetwork/java/javase/downloads/index.html)
Error:An unsatisfied requirement failed this build.

java下载地址
上述错误是因为没有安装Java 点击链接地址 下载Java即可
再执行

houjianan:~> brew install Jenkins
==>Downloading [http://mirrors.jenkins.io/war/2.156/jenkins.war](http://mirrors.jenkins.io/war/2.156/jenkins.war)
==>Downloading from [http://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.156/jenkins.war](http://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.156/jenkins.war)
######################################################################## 100.0%
==>jar xvf jenkins.war
==>Caveats
Note: When using launchctl the port will be 8080.
To have launchd start jenkins now and restart at login:brew services start jenkins
Or, if you don't want/need a background service you can just run:jenkins
==>Summary
?  /usr/local/Cellar/jenkins/2.156: 7 files, 76MB, built in 22 seconds

安装插件:

  1. Keychans and Provisioninng Profiles Management (管理本地的keychain和iOS证书的插件
  2. Xcode integration (用于xcode构建)
  3. Publish Over SSH (上传服务器使用)

系统管理-插件管理-可选插件-过滤 (因为我安装过了)

BED4B18C-C96A-472B-9D5A-670AF86DBEEE.png

B6A2DB7C-970E-4673-A694-A5B5BAA0B3D2.png

9F7698C2-C4CD-4D5E-811E-861CB52382B5.png

Keychans and Provisioninng Profiles Management

步骤:

  1. login.keychain
    终端 cd ~/Library/Keychains
    将login.keychain-db复制出来(放到桌面或者其他目录),并且将名字后面的-db删除(有-db就删除)。
    login.keychain文件准备就绪
  2. 去苹果爸爸开发者中心下载证书和描述文件到本地
    证书和描述文件准备就绪
  3. 上传文件到Jenkins
    Jenkins-系统管理-Keychans and Provisioninng Profiles Management点击进入下面界面 上传上面修改好的文件
    选择(login.keychain 证书 描述文件 选一个 upload一次)之后 点击Upload 出现如下界面

    3A317CE8-20F6-4DE4-8497-A31F542E6F47.png

注:使用证书和描述文件之前在xcode测试是否可以正常archive

Jenkins创建任务

87D45939-4132-48A3-997D-2C9B5ADAD11D.png

输入名称,选择自由风格软件项目,点击确定,如下图

74B686AB-B710-4A98-85AE-0DC41EB87B81.png

Jenkins可以查看到创建的相应任务-点击名称-进入项目

27507498-990E-4446-97D9-55CC3371B7C4.png

项目GAJenkins,点击 配置

配置

1、General
点开高级

FC5BDA4B-DC80-4DDD-80E9-F013D9958BD3.png

2、源码管理

这里把代码传到gihub上了,为了测试使用。后续配置svn

git和svn都需要添加账号 Jenkins

Respository URL 去github复制

构建触发器

[构建触发器]

获取身份验证令牌-右上角点击名字进入设置

在设置界面添加Token 我之前添加过了,所以显示的是创建日期

构建环境

在Keychans and Provisioninng Profiles Management添加过了,这里选择即可

Variables added to the build environment. They can be used in other build steps.
${KEYCHAIN_PATH}
Contains the absolute path of the selected copied keychain into the workspace.
${KEYCHAIN_PASSWORD}
Password to unlock the keychain.
${CODE_SIGNING_IDENTITY}
General name of the selected code signing identity.
```![43DB524C-6F4F-4E6A-85BF-40D0472493B6.png](https://upload-images.jianshu.io/upload_images/1024878-90452726e279196c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

构建-执行shell
执行shell 需要添加,不需要不添加
项目使用pod
这里添加执行shell
Pod install
Open GAFastlane.xcworkspace
注意后缀:.xcworkspace

077C3B64-EFB2-4E27-8A87-6F9A1F98F2B3.png

构建-Xcode
Xcode integration 在安装工具的时候已经安装好
需要勾选clean before build
Configration: Debug and Release两种
Xcode Schema File 如下图选择的 一般项目名字

6499C713-77F4-4B65-8F52-D7DECC194F0E.png

AC74AC3E-97B4-44F5-AE14-9458A360E593.png

4F45F0B5-683B-46EF-9E00-A6A2E78FC291.png

勾选Pack application, build and sign .ipa?
Export method 根据证书和需要填写
.ipa filename pattern

${BASE_NAME}
It is replaced with the base name of the archive
${VERSION}
It is replaced with CFBundleVersion in Info.plist
${SHORT_VERSION}
It is replaced with CFBundleShortVersionString in Info.plist
${BUILD_DATE}
It is replaced with date on which the application was built (yyyy.MM.dd)
${BASE_NAME}${VERSION}${SHORT_VERSION}${BUILD_DATE} 这样更完整

Output directory 导出的ipa放在哪里
${WORKSPACE}/build/ 相当于 /Users/houjianan/.jenkins/workspace/GAJenkins/build/

DEE3E2E8-FF33-4EA5-BE7B-8BD8BE22B695.png

Keychain path 之前搞得login.keychain绝对路径
Keychain password 电脑登录密码

Code signing & OS X keychain options

Advanced Xcode build options

Xcode Workspace File(使用了Workspace) {WORKSPACE}/build 固定写即可

1F4CDE6C-46B7-464F-9FF9-A36B3BB10ED6.png

构建后操作

Send build artifacts over SSH
Source files 注意路径别选错了

EB45C54A-CF92-4458-8449-5B6F952FE824.png

操作上面之前 先全局配置Publish over SSH
Use password authentication, or use a different key 使用密码登录和私钥密钥登录都可以密钥没做测试
Name随便起,上图会选择这个名字
Hostname 域名 ip
Username 访问地址的用户名
Remote Directory 路径 这里如果配置的路径是最后ipa文件传入的文件夹 上图就就不用配置RemoteDirectory 就是说 下图和上图的RemoteDirectory合并才是最后ipa文件传入的目录
Port 具体多少看情况

Timeout (ms)默认就行 网速特别差就写大点

96612D1E-74B7-4FA8-820C-C052184E64BF.png

DF685A30-A894-4195-AA54-ED84577FEB3B.png

去构建

EC7CAD37-3A09-4AB8-8B33-442683C34A8A.png

构建#99次...成功了

Archiving dSYM
No dSYM file found in /Users/houjianan/.jenkins/workspace/GAJenkins/build/GAFastlane.xcarchive/dSYMs !
No dSYM file found in /Users/houjianan/.jenkins/workspace/GAJenkins/build/GAFastlane.xcarchive/dSYMs !
SSH: Connecting from host [[houjianandeMacBook-Pro.local](http://houjianandemacbook-pro.local/)]
SSH: Connecting with configuration [10.3.10.33] ...
SSH: Creating session: username [root], hostname [10.3.10.33], port [22]
SSH: Connecting session ...
SSH: Connected
SSH: Opening SFTP channel ...
SSH: SFTP channel open
SSH: Connecting SFTP channel ...
SSH: Connected
SSH: cd [/data/uwsgi/test/]
SSH: OK
SSH: cd [/data/uwsgi/test/]
SSH: OK
SSH: mkdir [build]
SSH: OK
SSH: cd [build]
SSH: OK
SSH: put [GAFastlane.ipa]
SSH: OK
SSH: Disconnecting configuration [10.3.10.33] ...
SSH: Transferred 1 file(s)
Finished: SUCCESS

--------------问题记录-------------------

[问题1]
Source files 路径错误了 报下面错误
Transferred 0 ( 0 + 0 ) file(s)

[问题2]
** ARCHIVE FAILED **
The following build commands failed:
CompileSwift normal armv7
CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler
(2 failures)
Build step 'Xcode' marked build as failure
Finished: FAILURE

作者:GA_
链接:https://www.jianshu.com/p/3b38582d1a59
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

iOS Jenkins自动化打包相关推荐

  1. iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉提醒

    一.环境配置 注意,本文章是以Jenkins2.263.4为例 1.首先安装Java环境:官网下载地址 2.安装Jenkins 建议下载Jenkins 2.263.4版本,因为最新版本存在login. ...

  2. iOS - mac环境Jenkins自动化打包并上传蒲公英分发从0到1详细搭建过程,自我的实践记录

    第一过程 :  环境的相关配置条: 0. mac 电脑,系统版本为为 10.14.5 1. 升级ruby环境: 我用的是  rvm 1.29.9,可在终端 用  rvm -v 查看当前版本. 2. 安 ...

  3. gitlab+jenkins自动化打包APK

    前置条件: 环境搭建,jenkins需要的插件看这里: gitlab+jenkins自动化打包IOS 配置思路: step1: 搭建sdk,gradle运行环境,参照: CentOS7下安装安装and ...

  4. Android jenkins 自动化打包

    前言:前段时间因项目需要捣拾了一下Jenkins自动化打包,过程中遇到了很多的坑,在此记录一下.因为这篇博客是之后写的,所以有些具体的坑就不能回显了. 一,实现的功能 选择版本号,git 分支,渠道, ...

  5. Android-使用Jenkins自动化打包详解-Linux篇

    文章目录 购买和使用阿里云 安装宝塔面板 安装Tomcat 安装 jenkins 配置jenkins 设置FTP jenkins 常规操作 修改admin密码 购买和使用阿里云 首先购买阿里云,可从以 ...

  6. Jenkins自动化打包iOS配置流程

    前提条件:Mac系统,并且已经安装xcode,homedrew,Java,如果项目工程中集成了cocoapod,也需要安装cocoapod Jenkins打包方式分为两种,一种是xcode插件化配置打 ...

  7. iOS开发-自动化打包Jenkins集成

    前言 自动化打包根本目的是为了节约时间,把重复且无技术含量的事情交给机器去做.Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件 ...

  8. 使用jenkins自动化打包部署Vue项目。详细教程。

    此教程 jenkins是直接部署到linux服务器上.服务器系统:CentOS 7.3 64位. 流程:jenkins关联码云仓库,点击立即构建,执行shell进行构建,打包,把打包后的dist目录文 ...

  9. jenkins自动化打包部署,jenkins执行sh脚本不退出问题

    介绍 Jenkins是开源软件项目,主要用来自动化打包部署.使用jenkins彻底告别手动部署的麻烦与繁琐. 安装部署jenkins 官方下载地址 启动jenkins war包 登入jenkins 设 ...

最新文章

  1. 卷积神经网络必读的100篇经典论文,包含检测/识别/分类/分割多个领域
  2. hashlist java_java中集合类HashSet、ArrayList、LinkedList总结
  3. mapreduce编程实例(4)-求中位数和标准差
  4. 无锡技师学院计算机系,无锡技师学院
  5. 计算机网络安全课程好吗,浅议计算机网络课程教学问题与对策 计算机网络安全有哪些...
  6. 新浪微博客户端(eoe)
  7. mfc点击按钮让对话框关闭_WinXP系统开始菜单中关机按钮消失的恢复教程
  8. java发送QQ群邮件,简单两步使用node发送qq邮件
  9. 【OJ1768】最大子矩阵
  10. Linux笔记 rm -rf 嘻嘻
  11. Activiti中的流程存储服务(RepositoryService)
  12. 串行设备造成鼠标乱跑的问题
  13. 变身mac达人,这几招技巧您有必要了解~
  14. Vc2008中如何为视图类添加消息响应
  15. 千牛2015卖家版官方电脑版
  16. python修改pdf文件名称_使用Python重命名pdf文件目录几乎可以工作
  17. 手绘 v.s. 码绘(1.2 实践报告)
  18. 基数估计算法(一):Flajolet-Martin算法
  19. 阿里云账户使用手机号+验证码登录开启方法、
  20. python学习笔记(二十七) -- 常用内建模块(二) Base64、MD5、SHA1、hmac

热门文章

  1. 【期末复习】网络空间安全导论
  2. 芯路遥FOC工程笔记
  3. 最全USB ID‘s 收录
  4. FPGA和usb2.0 CY7C68013通信实现bulkloop
  5. WebGis开发那些事
  6. rails中arity的使用
  7. GitHub上README.md写法暨GFM语法解读
  8. Mysql主键与事务
  9. 31年前,中国第一封电子邮件:Across the Great Wall we can reach every corner in the world.
  10. cesium实现二三维分屏地图同步效果