自定义构建应用阶段

流水线模板中的构建应用阶段不能满足您的业务需要时,您可对该阶段进行自定义配置。

前提条件

已打开流水线编辑界面,具体操作参见打开流水线编辑界面

操作说明

  1. 单击构建阶段的区域框,打开阶段配置右侧栏。

  2. 阶段配置右侧栏,配置相关信息。

    选项

    说明

    阶段名称

    用于设置本阶段的名称。

    超时时间(分钟)

    用于设置本阶段的最大执行时间。默认为60分钟。如本阶段的执行时间超过预设值,则执行失败。

    是否需要运行环境

    用于设置本阶段是否需要运行环境。该参数不支持编辑。

    • 构建应用阶段:需要

    • 自定义阶段(串联场景):需要/不需要

    • 自定义阶段(并联场景):需要

    如该选项设置为需要,则镜像android-latest;如该选项设置为不需要,则镜像Agentless

    执行时机

    用于设置在什么情况下执行本阶段。

    • 前序阶段成功才执行

    • 前序阶段失败才执行

    • 无条件执行:即前序阶段执行完成后,无论成功或失败,均执行本阶段。

  3. 任务步骤中,单击添加步骤,在弹出的步骤列表中,选择待添加的步骤,将其添加至本阶段的任务列表,并进行相应配置,具体配置说明请参见构建配置说明

    说明

    将鼠标滑动至已添加的任务上方,拖动任务,调整任务的顺序。

  4. 单击确定,保存本阶段配置。

    自定义配置

构建配置说明

  • install apple p12 certificate and set up project

    在iOS场景下,用于安装P12证书并设置项目。

    选项

    说明

    组织ID

    默认设置为苹果颁发的组织ID。

    证书名

    默认设置为苹果颁发的证书名。

    xcodeporj目录

    用于设置工程根目录到xcodeporj目录的相对路径。

    编译配置

    用于设置工程的编译配置。

    p12证书

    用于选择p12证书。

    p12证书须预先设置,具体操作参见配置证书(iOS)

  • git checkout

    用于从指定代码仓库的指定分支获取构建应用所需代码。

    选项

    说明

    代码地址

    默认设置为代码仓库的地址。代码仓库为预先设置,具体操作参见添加代码访问权限

    代码分支

    用于设置代码分支。

    注意

    大小写敏感。

    代码访问权限

    默认设置代码仓库的访问权限。代码仓库的访问权限为预先设置,具体操作参见添加代码访问权限

  • upload artifact

    用于上传构建产物。

    选项

    说明

    路径

    用于设置从根目录到构建产物存储目录的相对路径。

    说明

    该选项须按照实际情况进行设置。

    是否遍历子目录

    用于设置在上传构建产物时,是否遍历指定目录的所有子目录。

    文件后缀

    用于设置文件后缀,上传指定文件类型的构建产品。如设置多个后缀,用“,”分隔。

    是否公开

    用于设置构建产物上传完成后,是否所有人可访问读取。

    说明

    如构建Debug包,建议关闭开关键。

  • install apple mobile provisioning profile

    在iOS场景下,用于将provisioning文件安装到Library。

    选项

    说明

    mobileprovision文件

    用于选择mobileprovision文件。mobileprovision文件须预先设置,具体操作参见配置证书(iOS)

  • Bash

    用于运行自定义Shell脚本。

    选项

    说明

    脚本内容

    用于输入自定义的Shell脚本。

    脚本执行目录

    用于输入执行自定义Shell脚本的本地目录。

  • cocoapods

    在iOS场景下,用于安装或更新pods依赖。

    选项

    说明

    xcodeproj目录

    用于设置工程根目录到xcodeporj目录的相对路径。

    deintegrate

    用于设置是否分解pods。

    repoUpdate

    用于设置是否更新索引库。

    install

    用于设置是否按照用户指定版本,或按照自动选择的最优版本,安装Pods。

    • 如存在Podfile.lock,则按用户指定版本安装Pods;

    • 如不存在Podfile.lock,则根据用户对版本的描述信息,从当前索引库中,自动选择最优版本安装Pods。

    update

    用于设置是否更新索引库,并按照索引库更新依赖安装Pods。

    打印详细信息

    用于在Pod安装或更新时,显示调试级别的日志,便于排查问题。

  • fastlane gym build

    在iOS场景下,用于设置使用gym构建应用。

    选项

    说明

    Scheme

    用于设置项目的Scheme。

    xcodeporj目录

    用于设置工程根目录到xcodeporj目录的相对路径。

    xcworkspace

    用于设置工程根目录到xcworkspace目录的相对路径。

    configuration

    用于设置工程的编译配置。

    export-method

    用于设置出包的类型。

    【取值范围】

    • app-store

    • ad-hoc

    • package

    • enterprise

    • development

    【默认取值】ad-hoc

    证书名

    用于设置Apple颁发的证书名。如构建发包时,使用与工程项目不同的证书,可重新指定。

    【是否必选】否,即使用与工程项目相同的证书

    额外编译参数

    用于指定额外的编译参数。多个参数使用分号、逗号或者换行进行分隔 。

    clean

    用于设置编译前是否清洗。

  • android apk signature

    在Android场景下,用于设置使用zipalign和apksigner工具对apk进行签名。

    选项

    说明

    Apk文件路径

    用于设置Apk文件构建后的存储路径。

    是否开启V2版本签名

    用于设置是否对构建的Apk文件进行V2版本签名。

    是否开启zipalign优化

    用于设置是否开启zipalign优化。

    是否删除签名前的Apk

    用于设置对Apk文件实施签名后,是否删除签名前的文件。

    Keystore证书

    用于设置构建Apk文件使用的Keystore证书。

    说明

    Keystore证书须预先设置,具体操作参见配置证书(Android)

  • replace android version

    在Android场景下,用于设置应用构建发布时使用的版本号。如未启用替换应用版本号阶段,则在构建应用时,默认使用代码版本号,作为应用版本号。

    选项

    说明

    versionCode

    用于设置App发布的版本号。

    versionName

    用于设置App发布的版本名称。

  • 替换应用版本(iOS)

    在iOS场景下,用于设置应用构建发布时使用的版本号。如未启用替换应用版本号阶段,则在构建应用时,默认使用代码版本号,作为应用版本号。

    选项

    说明

    App版本

    用于设置App的发布版本号。

    build版本

    用于标识发布或未发布的内部版本号。

    【默认值】单调递增的字符串:${{ env.EMAS_PIPELINE_TIMESTAMP }}

    自定义bundleId

    用于设置自定义bundleId,以替换工程的Bundle Identifier。

    Scheme

    用于设置项目的Scheme。

    xcodeporj目录

    用于设置工程根目录到xcodeporj目录的相对路径。

    编译配置

    用于设置工程的编译配置。

  • cocoapods cache

    在iOS场景下,用于设置在初次构建后,是否缓存构建相关资源,以便更快完成后续构建。

    选项

    说明

    精确匹配

    用于设置是否进行精确匹配。

    • 开启:不使用低版本Podfile对应的缓存。

    • 关闭:允许使用低版本Podfile对应的缓存。

  • gradle cache

    在Android场景下,用于安装并保存gradle缓存。在初次构建后,缓存构建相关资源,可更快完成后续构建。

    选项

    说明

    精确匹配

    用于设置是否进行精确匹配。

    • 开启:不使用低版本缓存。

    • 关闭:允许使用低版本缓存。

  • pod switch

    在iOS场景下,用于切换Cocopods的版本。

    选项

    说明

    CocoaPods版本

    用于设置CocoaPods的版本。可选CocoaPods版本包括:1.7.5/1.8.4/1.9.3/1.10.2/1.11.2。默认为1.8.4

    说明

    如需其他CocoaPods版本,联系技术支持

  • Xcode switcher

    在iOS场景下,用于切换Xcode的版本。

    选项

    说明

    Xcode版本

    用于设置Xcode的版本。可选Xcode版本包括:11.7/12.4/12.5.1/13.0/13.2.1。默认为11.7

    说明

    如需其他Xcode版本,联系技术支持

阿里云首页 移动研发平台EMAS 相关技术圈