MacOS 搭建 Unity 自动化发布工具链 —— Jenkins 和 CacheServer

164 阅读3分钟

部分源位于境外站点,为保证整个过程顺利完成,需要 科学上网

系统和基础工具

更新MacOS系统

每一年 Apple 都会更新对苹果商店发布版本 的 SDK 版本要求;而 SDK 版本 又依赖于 Xcode 版本 和 MacOS 版本;因此每一次新设备的部署,先更新 MacOS 版本至最新,减少后续的维护时间。 依次进入:系统设置->软件更新,从中发现新版本并更新。

基础工具

Homebrew 安装

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

出现 Installation successful! 说明安装成功

Npm 安装

brew install node

Ruby 安装

  1. 安装 ruby
brew install ruby
  1. 验证安装成功
ruby -v

设置永久有效的环境变量

在Mac上设置环境变量可以通过编辑.bash_profile.zshrc文件来实现,具体步骤如下:

  1. 打开终端(Terminal)。可以在Finder中找到“应用程序”文件夹下的“实用工具”文件夹,然后打开“终端”应用程序。
  2. 切换到用户的主目录。在终端中输入命令cd ~
  3. 创建或编辑.bash_profile.zshrc文件。可以使用命令touch .bash_profiletouch .zshrc来创建文件,然后使用open -e .bash_profileopen -e .zshrc打开并编辑文件。
  4. 添加环境变量。在.bash_profile文件中找到合适的位置,添加需要设置的环境变量。例如,要将/usr/local/bin添加到PATH环境变量中,可以添加以下行:export PATH="/usr/local/bin:$PATH"
  5. 使环境变量永久有效。在.zshrc文件最后一行增加source ~/.bash_profile
  6. 验证环境变量。运行命令 echo $PATH 来查看输出中是否包括你添加的路径,如果看到输出中包括你添加的路径,则说明环境变量已成功配置。

安装 Unity 相关软件

相关网址: Unity官网 Unity中国

安装 Unity Hub

  1. 进入 Unity Hub 下载页面 下载所需 Unity Hub 版本;
  2. 按照安装指引将 Unity Hub 安装至本机。

配置 Unity Hub 信息

  1. 登陆 Unity 账号,若没有账号,请前往 Unity账号注册页面 进行注册;
  2. 填充 Unity专业版证书 的序列号;也可以使用个人版证书。

安装 Unity Editor

  1. 进入 Unity 存档页面 下载对应的Unity Editor版本,并从Release页面下载 iOS Support 和其他需要的 Support; image.png
  2. 按照安装指引将 Unity Editor 和 Support 安装至本机;
  3. 在 Unity Hub 中关联 本地安装的 Editor:Installs -> Locate 选中Editor。

安装 CocoaPods

  1. 打开 Unity Editor,依次选择:菜单栏 Assets -> External Dependency Manager -> iOS Resolver -> Install Cocoapods;
  2. 等待安装结果;如果安装失败,则按照提示在 终端 中执行对应的指令后,重新执行第1步。

安装 Unity CacheServer

  1. 在终端中执行
sudo npm install unity-cache-server -g
  1. 建立缓存路径,例如:CacheServerRoot
  2. 创建启动脚本
#! /bin/sh
unity-cache-server --cache-path ~/CacheServerRoot --host 192.168.1.1 --port 8126
添加开机自启动shell脚本
  1. 修改脚本的运行权限
sudo chmod 777 script.sh
  1. 右键点击 script.sh -> 显示简介,将 “打开方式” 修改为 “实用工具/终端”(在选择界面无法选中时,将“启动”修改为“所有应用程序”);“共享与权限” 中打开 “读与写”

  2. 依次进入:系统设置->通用->登陆项,将 script.sh 添加到登陆项,重新启动

安装/更新 XCode

安装发布证书

XCode-select 重定向

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

安装自动化集成工具链

安装Jenkins

  1. 进入 Jenkins下载页面 下载需要的 jenkins.war 包

  2. 创建启动脚本

#! /bin/bash
java -jar jenkins.war

迁移工程

使用 Job Import
使用 Jenkins-CLI

常见问题处理

  • org.tmatesoft.svn.core.SVNException: svn: E175002: SSL handshake failed: 'Certificates do not conform to algorithm constraints'

原因:JDK7/8后添加了安全机制,使用的证书不符合算法约束

解决方法:

(1)在jdk的安装目录找到java.security文件,参考路径: /usr/local/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home/conf/security/java.security /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre/lib/security/java.security

(2)修改jdk.tls.disabledAlgorithms

这里可以修改成jdk.tls.disabledAlgorithms=,但这意味着不限制加密算法,一定会成功,可以用来排查错误。

如果清楚证书加密使用了哪种具体的加密格式,如RSA算法,则可以设置具体的长度限制。

比如使用RSA加密算法长度在1024以上,那就得限制1024以下的长度:jdk.tls.disabledAlgorithms=RSA keySize < 1024。

一般来说,将tlsv1、tlsv1.1、3des_ede_cbs删除即可解决大部分的问题。

如果不清楚要删除哪些,可以试一下。

PowerShell 安装

  1. 安装 PowerShell 的最新稳定版本
brew install powershell/tap/powershell
  1. 验证安装成功
pwsh
  1. PowerShell 新版本发布后,更新 Homebrew 公式并升级 PowerShell
brew update
brew upgrade powershell

原文链接:MacOS 搭建 Unity 自动化发布工具链 —— Jenkins 和 CacheServer