jenkins+gogs实现iOS项目自动化部署(四)

栏目: 服务器 · 发布时间: 6年前

内容简介:本篇是CI系列的最后一篇,主题是介绍jenkins如何实现iOS项目的自动化部署,在上一篇一、配置MacOS slaveJenkins有个强大的功能,配置Slave(奴隶)服务器,来实现分布式部署构建。具体步骤如下:

前言

本篇是CI系列的最后一篇,主题是介绍jenkins如何实现iOS项目的自动化部署,在上一篇 jenkins+gogs实现Android项目自动化部署(三) 开篇提到了slave节点,iOS打包需要借助slave节点来完成打包,接下来我就一步步的教大家如何做。

一、配置MacOS slave

Jenkins有个强大的功能,配置Slave(奴隶)服务器,来实现分布式部署构建。具体步骤如下:

1、配置Mac电脑

系统偏好设置共享 中开启  远程登录 ,如下图

jenkins+gogs实现iOS项目自动化部署(四)

2、创建节点

Jenkins  >  系统管理  >  节点管理  >  新建节点,输入节点名称,记得勾选 固定节点 ,点击OK。

3、配置节点

jenkins+gogs实现iOS项目自动化部署(四)

其中要保证 /Users/longdw/Documents/jenkins 目录的权限为ssh链接的用户可读写。

Host是Mac的ip地址,Credentials是ssh登录Mac时需要的账户和密码。可以添加一个

jenkins+gogs实现iOS项目自动化部署(四)

下面的部分很重要:

jenkins+gogs实现iOS项目自动化部署(四)

PATH环境变量,需要在Mac上通过

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Users/longdw/Library/Android/sdk/platform-tools:/Users/longdw/Library/Android/sdk/tools:/Users/longdw/flutter/bin:/usr/local/Cellar/apache-maven-3.5.4:/usr/local/Cellar/apache-maven-3.5.4/bin:/usr/local/mysql/bin:/Users/longdw/apache-ant-1.10.5/bin
 

获取,然后copy过去。

Keychains and Provisioning Profiles路径要填写正确。没有这个选项的安装 Keychains and Provisioning Profiles Management 插件。

4、保存

如果看到

jenkins+gogs实现iOS项目自动化部署(四)

即添加Mac Slave成功,且Mac Slave在线。若连不上,请反复确认 远程工作目录 的权限。

二、配置Jenkins系统设置

1、上传证书和描述文件

Jenkins系统管理Keychains and Provisioning Profiles Management 中上传打包用的证书和描述文件。如下图:

jenkins+gogs实现iOS项目自动化部署(四)

jenkins+gogs实现iOS项目自动化部署(四)

Save。

2、在 Jenkins > 系统管理 > 系统设置 中设置

jenkins+gogs实现iOS项目自动化部署(四)

很关键。 Keychain 的路径和密码需要填写Mac中登录用户的密码。

3、在 Jenkins > 系统管理 > 全局安全配置 中配置

jenkins+gogs实现iOS项目自动化部署(四)

开启Safe HTML。

三、配置iOS项目

1、安装 description setter 插件

2、新建任务

3、General

jenkins+gogs实现iOS项目自动化部署(四)

这里指定Mac Slave服务器作为构建Xcode工程的Slave服务器,Xcode打包构建全部交给这个节点(Slave服务器)来完成。

4、配置源码

这里就不介绍了,前几篇有说明

5、构建环境

jenkins+gogs实现iOS项目自动化部署(四)

jenkins+gogs实现iOS项目自动化部署(四)

把之前上传的证书和描述文件添加上。

设置Build名称,这里添加了自定义名称。注意,高级里面只勾选第一个,不要勾选 Set build name after build ends ,否则会报错。

7、构建

jenkins+gogs实现iOS项目自动化部署(四)

脚本如下

export LANG="en_US.UTF-8"
 
security -v unlock-keychain -p "dwd"
 
ipa_name="FotileCSS"
build_path="${WORKSPACE}/build/"
fastlane gym --workspace FotileCSS.xcworkspace --scheme FotileCSS --clean --configuration Release --export_method enterprise --output_name ${ipa_name} --output_directory ${build_path}

这里用到了fastlane来打包

说到gym,就要先说一下fastlane。

fastlane是一套自动化打包的 工具 集,用 Ruby 写的,用于 iOS 和 Android 的自动化打包和发布等工作。gym是其中的打包命令。

fastlane 的官网看 这里 , fastlane 的 github 看 这里

要想使用gym,先要安装fastlane。 sudo gem install fastlane -- verbose

最重要、最重要、最重要:

Linux服务器上的Jenkins调用Mac Slave时,是通过之前设置的 SSH 登录的方式,而Apple为了安全,在ssh登录时,是不允许读取 Keychains (钥匙串)的,所以  security -v unlock-keychain -p "yourpassword" 这行命令就很重要了。在构建打包前,先解锁Keychains。

当然这里 fastlane 已经提前通过 Homebrew 安装好了,这里不再赘述。

整体脚本的流程是,先解锁Keychain,然后用fastlane快速打包,最后上传到蒲公英平台,等待测试。

文章整体部分采用的是这位大神的博客,转入 大神的博客

iOS 常见打包错误

1 fastlane gym error Unable to locate Xcode  

2 Command /usr/bin/codesign failed with exit code 1

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://www.longdw.com/ jenkinsgogsios /


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

构建之法

构建之法

邹欣 / 人民邮电出版社 / 2014-9 / 49.00元

内容简介: 软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的。作者邹欣有长达20年的一线软件开发经验,他利用业余时间在数所高校进行了长达6年的软件工程教学实践,总结出了在16周的时间内让 同学们通过 “做中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈......一起来看看 《构建之法》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具