跳到主要内容

使用不同功能的action

在构建步骤中使用现成的 action 可以帮助用户简单快速地实现一个功能完备的工作流。

团结云开发的自动构建提供了若干个云构建专用 action 来帮助用户更好地完成构建,同时也提供了一些常用的 github action 的镜像供用户使用,除此之外还支持用户直接使用如在Github或者其他 git 服务上的公开 action。

云构建 action

actions/checkout-plasticscm

该 action 可以从团结云开发的 PlasticSCM 仓库签出内容

- uses: actions/checkout-plasticscm@v1
with:
# 指定仓库的分支、标签、或者变更集
# 例如 分支 br:/main,标签 lb:somelabel,变更集 cs:1
# 若不指定则默认签出主分支最新的变更集
ref: ''

# 签出的目标路径,该路径是对于 $GITHUB_WORKSPACE 的相对路径
path: ''

# 是否进行无声签出,若设置为 false 的话则会在日志中显示签出进度
# 默认:true
silent: ''

actions/tj-builder

该 action 可以启动团结引擎为团结工程项目进行构建

- uses: actions/tj-builder@v3
with:
# 指定构建的目标平台,目前在云构建上只支持以下目标平台:
# StandaloneWindows64
# WeixinMiniGame
# WebGL
# Android
# OpenHarmony
# 对于 Android 目标平台,云构建会使用团结引擎推荐版本的 JDK,Android SDK 和 Android NDK
# 对于 OpenHarmony 目标平台,云构建会使用 JDK 11,node 16 以及用户选择的 OpenHarmony SDK 版本
#(见 openHarmonyApiVersion)
# 若不指定目标平台,默认为 StandaloneWindows64
targetPlatform: ''

# 将进行构建的团结工程项目路径,该路径是对于 $GITHUB_WORKSPACE 的相对路径
projectPath: ''

# 构建输出的名字
# 会通过启动参数 -customBuildName 传递给团结引擎,用户可以按需使用
buildName: ''

# 构建输出的路径
# 会与 targetPlatform 的值组合在一起后通过启动参数 -customBuildPath 传递给团结引擎,用户可以按需使用
buildsPath: ''

# 构建运行的 c# 方法
# 会通过启动参数 -executeMethod传递给团结引擎(executeMethod 参数使用方法详见https://docs.unity.cn/cn/tuanjiemanual/Manual/EditorCommandLineArguments.html)
# 如不指定,则会运行默认的方法进行构建,具体详见https://devops.unity.cn/help/docs/advanced/build-tool-default
buildMethod: ''

# 指定构建的版本方式,云构建提供以下几种版本方式:
# Default:使用 PlasticSCM 仓库的标签或者变更集(如果没有标签)作为版本
# Label:使用 PlasticSCM 仓库的标签作为版本
# Custom: 使用自定义版本
# None:不使用版本
# 如果构建的项目并非来自一个 PlasticSCM 仓库,则只能使用 Custom 和 None 的版本方式
# 默认: Defaut
versioning: 'Default'

# 当使用 Custom 版本方式时,指定版本内容
version: ''

# 指定自定义构建参数,其内容会直接作为启动参数传递给团结引擎
customParameters: ''

# 指定构建完成后是否手动退出团结引擎
# 若为 true,则不会传递 -quit 启动参数给团结引擎,且构建方法需要调用 EditorApplication.Exit(0) 来退出引擎
manualExit: ''

# 指定是否启用多进程来构建 AssetBundle
# 若启用该功能,则当构建脚本调用 BuildPipeline.BuildAssetBundles 方法时,团结引用会开启额外进程来加速 AssetBundle 的构建
# 若在构建 AssetBundle 时遇到意料之外的错误时,请尝试关闭该功能并重试
# 默认:true
multiProcessAssetBundleBuild: true

# 指定是否启用资产并行导入
# 功能详见 https://docs.unity.cn/cn/tuanjiemanual/Manual/ParallelImport.html
# 默认:true
parallelImport: true

# 指定启用资产并行导入功能时的工作进程数量
# 默认为 CPU 物理核心数的一半
parallelImportDesiredWorkerCount:

# 指定启用资产并行导入功能时的后补进程数量
# 默认为工作进程数量的一半
parallelImportStandbyWorkerCount:

# 指定构建 OpenHarmony 项目时所使用的 OpenHarmony SDK 版本(即 OpenHarmony Api Version)
# 云构建目前支持使用 OpenHarmony Api Version 10 和 11,12,14,其中10可以直接构建 .hap 包或者导出成 DevEco Studio 项目,而11,12,14只能导出成 DevEco Studio 项目
# 默认:引擎自带的API版本
openHarmonyApiVersion:

该 action 还包含以下输出: 1. buildVersion:构建的版本,与 Versioning 所输入的内容对应 2. buildsPath:构建输出的路径,与 buildsPath 所输入的内容对应 3. engineExitCode:构建过程的引擎退出码,若为 0 则表示构建成功

actions/tj-upload-artifact

该 action 可以上传指定的制品至团结云开发,其功能与 action https://github.com/actions/upload-artifact/releases/tag/v3 一致,并进行了性能上的优化。通过该 action 上传的制品目前并不能使用 action https://github.com/actions/download-artifact 来下载,若用户的工作流中需要使用 action https://github.com/actions/download-artifact 来下载制品,需要使用 action https://github.com/actions/upload-artifact 来上传制品。

- uses: actions/tj-upload-artifact@v2
with:
# 指定制品名称
name: ''

# 指定制品包含的文件、目录、或者通配符路径
path: ''

# 指定当 path 描述的内容不存在时该 action 如何表现,有以下可选项:
# warn:输出一个警告,不会导致 action 失败
# error:输出一个错误,并且 action 失败
# ignore:不输出警告或者错误,不会导致 action 失败
# 默认:warn
if-no-files-found: 'warn'

# 指定制品的保留天数
# 最小 1 天,最大 90 天,如果不指定或者指定为 0,则使用云构建默认保留天数 60 天
retention-days:

actions/tj-cache

该 action 可以缓存用户自定义的内容至云构建的缓存服务器,以便在下次构建时可以直接使用(例如在用户的构建过程中存在一些可以重复使用的构建中间制品),起功能与 action https://github.com/actions/cache/tree/v4.0.1 一致,额外添加了云构建用户的权限验证过程来确保更高的安全性。

- uses: actions/tj-cache@v1
with:
# 指定需要缓存的文件、目录、或者通配符路径
path: ''

# 指定存储缓存所用的 key
key: ''

# 指定恢复缓存所用的 keys
# 当无法用指定的 key 进行精确匹配查找到缓存的时候,会按顺序查找该 keys 里的 key 来查找并恢复缓存
restore-keys: ""

# 指定上传体积较大的缓存时,进行分块的大小(单位 bytes)
upload-chunk-size:

# 指定是否在没有查找到对应缓存时直接使工作流失败
# 默认:false
fail-on-cache-miss: "false"

# 指定是否只对缓存进行查找确定其是否存在,而不恢复缓存
# 默认:false
lookup-only: "false"

# 指定是否不管之前的步骤是否成功,都是上传缓存
# 默认:false
save-always: "false"

该 action 还包含以下输出:

  1. cache-hit:布尔值,表示查找到的缓存的 key 是否与输入的 key 精确匹配。

镜像 action

云构建还支持以下镜像自 https://github.com/actions 的 actions