码迷,mamicode.com
首页 > 其他好文 > 详细

Xcode Server (Xcode9)搭建CI

时间:2017-10-11 19:15:17      阅读:1004      评论:0      收藏:0      [点我收藏+]

标签:gprof   失败   环境   登录   setting   rod   upload   code   创建   

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

标签:gprof   失败   环境   登录   setting   rod   upload   code   创建   

原文地址:http://www.cnblogs.com/xiaobaizhu/p/7651989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!