Xcode Server (Xcode9)搭建CI
Xcode 9将Xcode Server集成进来了,这是Xcode一个新特性,不用去单独下载server了,server可以用来做CI、自动化Test等等。这里主要介绍搭建CI,相当简单

打开开关,新建一个server

可以设置集成超时时间

服务器启动了,就可以创建机器人了,机器人就是执行某些任务的一个单元

在创建的过程中注意,如果想要利用Xcode从Git上拉代码,需要登录。登录方式有三种,第一种最简单,直接输入用户名密码。推荐第三种,但是需要设置SSH,配置的过程自行百度。

登录成功就可以选择分支了

下一步需要重点说明,Export方式有四种,建议选择第四种,读取自己写的exportOptionsPlist,第三种需要配置provisioningProfiles,未实验成功。

在Xcode9下,exportOptionsPlist的内容会有变化,需要增加provisioningProfiles这一个字典,字典的key就是bundleId,value就是provisioning profile文件名(和Xcode的Build Setting选项下的一致)

集成构建的周期

建议手动管理证书

这里注意,环境变量一定要填写,否则pod install会报错。PATH对应的值需要打开终端,敲入以下命令获取
echo $PATH

构建动作包括构建前、后和邮件通知。

构建前的脚本就是pod install,需要cd到项目目录下再执行

构建后脚本就是上传ipa至fir(需要安装fir-cli,传送门https://github.com/FIRHQ/fir-cli/blob/master/doc/install.md)

这里有一个问题,就是如果构建失败(包括脚本执行失败)Xcode会删除.xcArchieve和.ipa等文件,所以我将ipa文件拷贝到单独的文件夹,再上传。
这里是脚本内容
#!/bin/sh
export LC_ALL="en_US.UTF-8" # 进入工程根目录
IPA_NAME=$(basename "${XCS_ARCHIVE%.*}".ipa) IPA_PATH="${XCS_OUTPUT_DIR}/ExportedProduct/${IPA_NAME}" echo ${IPA_PATH} rm -r -f ${HOME}/Desktop/Package/${IPA_NAME}
cp -R ${IPA_PATH} ${HOME}/Desktop/Package #上传至fir
fir publish ${HOME}/Desktop/Package/${IPA_NAME} -Q -T 863efefc********************* #上传至蒲公英
curl -F "file=@${IPA_PATH}" -F "uKey=******************2f5e99f3a7495" -F "_api_key=******************eb2d5cb44d93183" http://www.pgyer.com/apiv1/app/upload
新建一个周期邮件在构建完成后发送。点击Create,就完成了,赶紧去构建项目吧!

如果构建失败...

Xcode Server (Xcode9)搭建CI的更多相关文章
- 为容器化的 Go 程序搭建 CI
本文介绍如何使用 Jenkins 的声明式 pipeline 为一个简单的 Golang web 应用搭建 CI 环境.如果你还不太了解 Jenkins 及其声明式 pipeline,请先参考笔者的 ...
- phpstorm破解 IntelliJ IDEA License Server本地搭建教程 http://blog.lanyus.com/archives/174.html/comment-page-6#comments 附件:mac环境
ilanyu's Blog 搜索关键字搜索 首页IDEA注册码文件中转在线记事本老博客关于 IntelliJ IDEA License Server本地搭建教程 作者: ilanyu 时间: Marc ...
- Xcode Server持续集成
这是一篇2017-11-12 年我还在 ezbuy 的一篇文章,时间过去很早了,最近在整理笔记的时候发现了, 同步过来,文章内容现在是否有效不确定,应该大差不差,读者仅做参考 最后更新 2017-11 ...
- Windows Server 2003搭建邮件服务器
Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...
- Ubuntu server下搭建Maven私服Nexus
Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...
- 使用FileZilla Server轻松搭建个人FTP服务器
Linux平台下快速搭建FTP服务器 服务器FTP Server环境搭建 针对以上遇到的问题的解决方案如下: 1)如何上传文件到云服务器上 关于这个问题,我首先想到的是使用FileZ ...
- Windows Server 2008搭建域控制器《转载51CTO.com》
Windows Server 2008搭建域控制器 引入 在小型网络中,管理员通常独立管理每一台计算机,如最为常用的用户管理.但当网络规模扩大到一定程度后,如超过 10 台计算机,而每台计算机上有 1 ...
- 使用IIS Server Farms搭建应用服务负载均衡
当公司的业务扩大, 伴随着大量的请求,应用服务器的承受能力已经不能满足不断增长的业务需求,使用IIS Server Farms搭建应负载均衡的方式,把请求分发给不同的应用服务器进行处理,这个时候就降低 ...
- 【阿里云】在 Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务
Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...
随机推荐
- Kafka学习之(三)Centos下给PHP开启Kafka扩展(rdkafka)
Centos版本:Centos6.4,PHP版本:PHP7. 在上一篇文章中使用IP为192.168.9.154的机器安装并开启了Kafka进行了简单测试,充当了Kafka服务器. 本篇文章新开启一台 ...
- Nginx配置location跳转后偶尔出现404
tv.xxx.com/voice请求时需跳转至:tv.xxx.com/zongyi/zt2015/haoshengyin/index.shtml 目录结构: nginx服务器配置: location ...
- 20145331 《Java程序设计》第4周学习总结
20145331 <Java程序设计>第4周学习总结 教材学习内容总结 •第六章 1.继承的定义与特点: 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承方法, ...
- 20145335郝昊《java程序设计》第5周学习总结
20145335郝昊<Java程序设计>第5周学习总结 教材学习内容总结 第八章 语法与继承架构 使用try.catch 特点: - 使用try.catch语法,JVM会尝试执行try区块 ...
- C/C++中RAND_MAX的用法
RAND_MAX是C中stdlib.h中宏定义的一个字符常量: #define RAND_MAX Ox7FFF 其值最小为32767,最大为2147483647 通常在产生随机小数时可以使用RAND_ ...
- C++利用系统时间产生的随机数
本文由青松原创并依GPL-V2及其后续版本发放,转载请注明出处且应包含本行声明. C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integra ...
- Hive的执行生命周期
1.入口$HIVE_HOME/bin/ext/cli.sh 调用org.apache.hadoop.hive.cli.CliDriver类进行初始化过程 处理-e,-f,-h等信息,如果是-h,打印提 ...
- [翻译]如何在HTML5中有效使用ARIA
ARIA是Accessible Rich Internet Application的简称,指无障碍富互联网应用.可以使一些有功能障碍(如听力,视力)的人群,使用你的网站.下面看一下做为开发人员的我们, ...
- mvn设置
mvn仓库网址: https://mvnrepository.com 安装好maven后,一定要确认安装路径下的setting.xml与本地仓库中的setting.xml一致. 坐标: 什么是坐标? ...
- Linux基础知识点
1.目录结构 bin 存放二进制可执行文件(ls,cat,mkdir等) boot 存放用于系统引导时使用的各种文件 dev 用于存放设备文件 etc 存放系统配置文件 home 存放所有用户文件的根 ...