Mac Jenkins部署与Unity流水线搭建

发布于 2022-06-15


安装部署

苹果系统

从网站安装的话使用这个包:

**(推荐)**Jenkins 也可以使用brew以下方式安装:

  • 安装最新版本
brew install jenkins
  • 安装 LTS 版本
brew install jenkins-lts

运行

  • 后台运行

最新版本

brew services restart jenkins
//brew services stop jenkins
//brew services start jenkins

LTS版本

brew services restart jenkins-lts
//brew services stop jenkins-lts
//brew services start jenkins-lts
  • 控制台运行,关闭控制台服务则停止

最新版本

/opt/homebrew/opt/openjdk@11/bin/java -Dmail.smtp.starttls.enable=true -jar /opt/homebrew/opt/jenkins/libexec/jenkins.war --httpListenAddress=127.0.0.1 --httpPort=8080

LTS版本

/opt/homebrew/opt/openjdk@11/bin/java -Dmail.smtp.starttls.enable=true -jar /opt/homebrew/opt/jenkins-lts/libexec/jenkins.war --httpListenAddress=127.0.0.1 --httpPort=8080

随后在浏览器输入 127.0.0.1:8080即可

地址和端口号以你的配置为准

中文插件

  1. 进入Manage Jenkins中,点击Manage Plugins,
image-20220721174018128
  1. 安装插件 Locale plugin , Localization: Chinese (Simplified) , Localization Support Plugin,如果失败就再安装一次

    image-20220721174202810
  2. 设置中文,如果没有Locale,可能是上一步中插件未安装

image-20220721174302750

找到Locale,填入 zh_cn

image-20220721174410958

如果出现部分翻译,部分没翻译的现象,则删除插件。重启Jenkins(http://域名/jenkins/restart),再次安装插件(第一次安装只有部分翻译了)

如果安装新的插件,重启了服务,又变成部分汉化了

  1. 将语言设定为zh_US,Jenkins切换为英文。
  2. 调用restart重启Jenkins:http://域名/jenkins/restart。
  3. 再次语言设定为zh_CN,刷新即可

Unity流水线搭建

安装Unity插件 Unity3d plugin

在Plugin Manager中搜索并安装unity3d plugin插件

image-20220721142600797

搭建Unity流水线

General

  1. 新建Freestyle project
image-20220721163530338
  1. 填写描述信息,点击高级选项
image-20220721163950327
  1. 在General高级选项中,勾选使用自定义的工作空间,并填入
image-20220721164126453

源码管理

  1. 勾选Git选项,填写项目git地址,git用户及密码
image-20220721164539474
  1. 填写需要拉去的分支

    image-20220721164656550

    如果使用的是gitlab仓库,可在源码库浏览器中选择gitlab,并在URL中填写git地址,Version中填写gitlab仓库的版本

    image-20220721165229897

构建触发器

构建任务的触发器,暂时忽略,取消所有勾选,如有特殊需求请自行查阅资料

image-20220721165435157

构建环境

构建环境就是构建之前的一些准备工作,暂时忽略,取消所有勾选,如有特殊需求请自行查阅资料

image-20220721165701136

构建

  1. 增加构建步骤,选择 Execute shell,填入构建脚本
image-20220721170129609

android构建脚本

dir=`pwd`
echo "开始构建"
/Applications/Unity/Hub/Editor/2020.3.36f1c1/Unity.app/Contents/MacOS/Unity -quit -batchmode -projectPath ${dir} -executeMethod BuildTool.BuildAPK 1.0.0  -1 RELEASE -logFile -

ios构建脚本

dir=`pwd`
/Applications/Unity/Hub/Editor/2020.3.36f1c1/Unity.app/Contents/MacOS/Unity -quit -batchmode -projectPath ${dir} -executeMethod BuildTool.BuildIPA 1.0.0  -1 RELEASE -logFile -
sh ./archive.sh -t DEBUG
  1. 复制上传脚本到自定义目录

    image-20220721171309067

    我这边把上传脚本放在了/Users/zhangchengxiang/JenkinsWorkSpace/unity_tool_upload

    如果shell脚本没有 执行权限,则需要添加 执行权限

    进入终端,cd到脚本目录,输入指令 ls -l查看权限

    image-20220721171755250

    如果没有x权限,则执行 chmod +x 文件名,添加权限

    image-20220721172017822
  2. 增加构建步骤,选择Execute shell,填入上传脚本

image-20220721172240201

android上传脚本

/Users/zhangchengxiang/JenkinsWorkSpace/unity_tool_upload/apk_upload_v3.sh -n "xsldfdl" -m "许胜利的奋斗路" -e RELEASE -c "${SCM_CHANGELOG}" -d "./Build/Android"

ios上传脚本

/Users/zhangchengxiang/JenkinsWorkSpace/unity_tool_upload/ipa_upload_v3.sh -n "hgttemplate" -m "模板" -e RELEASE -c "${SCM_CHANGELOG}" -d "./Build/iOS/output_xcode/Unity-iPhone-IPA"

此处的/Users/zhangchengxiang/JenkinsWorkSpace/unity_tool_upload/上传脚本.sh根据情况改变,文件路径是第上一步的路径,上传脚本如果打包的是android就填apk_upload_v3.sh,iOS则填ipa_upload_v3.sh

构建后操作

暂时忽略,如有特殊需求请自行查阅资料

More

上传至阿里云OSS对象存储

下载对应版本的命令行工具

https://help.aliyun.com/document_detail/120075.htm?spm=a2c4g.11186623.0.0.51c12e43aklWQF#concept-303829

macOS系统安装

  1. 运行以下命令下载ossutil。

    curl -o ossutilmac64 https://gosspublic.alicdn.com/ossutil/1.7.13/ossutilmac64
    
  2. 运行以下命令修改文件执行权限。

    chmod 755 ossutilmac64
    
  3. 运行以下命令,生成配置文件。

    ./ossutilmac64 config
    
  4. 根据提示设置配置文件。设置方法与Linux系统生成配置文件的方法相同。

上传指令

cloud_url="oss://zhangxyiang-app-store/AppStore/Apps/"
file_url="xsldfdl.apk"
./ossutilmac64 cp -f ${file_url} ${cloud_url}

mac系统或者linux系统建议把命令行工具软连接到/usr/local/bin下全局使用,windows系统也可设置到全局变量中