华为云用户手册

  • onRenderExternalVideoFrame void onRenderExternalVideoFrame(String roomId, HRTCMediaDirection direction, String userId, HRTCVideoFrame videoFrame); 【功能说明】 回调远端的视频原始数据流。 【回调参数】 roomId:房间ID。 userId:用户ID。 videoFrame:视频数据。 direction:数据源,本地数据,远端数据,具体请参见HRTCMediaDirection。
  • onRemoteAudioStateChangedNotify void onRemoteAudioStateChangedNotify(String userId, HRTCRemoteAudioStreamState state, HRTCRemoteAudioStreamStateReason reason); 【功能说明】 远端音频流状态变化回调。 【回调参数】 userId:远端用户ID。 state:远端音频流状态,具体请参见HRTCRemoteAudioStreamState。 reason:远端音频流状态变化原因,具体请参见HRTCRemoteAudioStreamStateReason。
  • onFirstRemoteAuxiliaryStreamDecoded void onFirstRemoteAuxiliaryStreamDecoded(String roomId, String userId, int width, int height); 【功能说明】 接收到第一帧远端辅流并解码成功,触发此回调。 【回调参数】 roomId:视频流对应的房间ID。 userId:视频流对应的用户ID。 width:视频流宽。 height:视频流高。
  • onLocalVideoStateChangedNotify void onLocalVideoStateChangedNotify(HRTCLocalVideoStreamState state, HRTCLocalVideoStreamStateReason reason); 【功能说明】 本地视频流状态变化回调。 【回调参数】 state:本地视频流状态,具体请参见HRTCLocalVideoStreamState。 reason:本地视频流状态变化原因,具体请参见HRTCLocalVideoStreamStateReason
  • onRemoteVideoStateChangedNotify void onRemoteVideoStateChangedNotify(String userId, HRTCRemoteVideoStreamState state, HRTCRemoteVideoStreamStateReason reason); 【功能说明】 远端视频流状态变化回调。 【回调参数】 userId:远端用户ID。 state:远端视频流状态,具体请参见HRTCRemoteVideoStreamState。 reason:远端视频流状态变化原因,具体请参见HRTCRemoteVideoStreamStateReason。
  • onConnectionChangedNotify void onConnectionChangedNotify(HRTCConnStateTypes connStateTypes, HRTCConnChangeReason connChangeReason, String description); 【功能说明】 网络连接状态改变。 【回调参数】 connStateTypes:网络连接状态,具体请参见HRTCConnStateTypes。 connChangeReason:网络连接状态原因,具体请参见HRTCConnChangeReason。 description:描述。
  • onUserAuxiliaryStreamAvailable void onUserAuxiliaryStreamAvailable(String roomId, String userId, boolean available); 【功能说明】 辅流加入房间。 【回调参数】 roomId:房间ID。 userId:用户ID。 available:true表示辅流开始推送,false表示辅流停止推送,提示用户关闭共享。
  • onPlaybackExternalAudioFrame void onPlaybackExternalAudioFrame(String roomId,HRTCMediaDirection direction, HRTCAudioFrame audioFrame); 【功能说明】 回调远端的音频原始数据流。 【回调参数】 roomId:房间ID。 audioFrame:音频数据,具体请参见HRTCAudioFrame。 direction:数据源,本地数据,远端数据,具体请参见HRTCMediaDirection。
  • onMediaConnectStateChangedNotify void onMediaConnectStateChangedNotify(HRTCMediaConnStateTypes state, HRTCMediaConnChangeReason reason, String description); 【功能说明】 媒体服务器连接状态变更通知。 【回调参数】 state:连接状态,具体请参见HRTCMediaConnStateTypes。 reason:连接状态变化的原因,具体请参见HRTCMediaConnChangeReason。 description:连接状态变化原因描述。 加入房间过后,收到媒体服务的数据包时,返回Connected消息,超过6s没有收到包,则返回Failed消息。
  • onUserRoleChangedNotify void onUserRoleChangedNotify(String roomId, HRTCRoleType oldRole, HRTCRoleType newRole); 【功能说明】 用户角色改变。 【回调参数】 roomId:发生角色切换的房间号。 oldRole:改变前的角色,具体请参见HRTCRoleType。 newRole:改变后的角色,具体请参见HRTCRoleType。
  • onLocalAudioStateChangedNotify void onLocalAudioStateChangedNotify(HRTCLocalAudioStreamState state, HRTCLocalAudioStreamStateReason reason); 【功能说明】 本地音频流状态变化回调。 【回调参数】 state:本地音频流状态,具体请参见HRTCLocalAudioStreamState。 reason:本地音频流状态变化原因,具体请参见HRTCLocalAudioStreamStateReason。
  • onConnectionChangedNotify virtual void onConnectionChangedNotify(IHRTCConnection* conn, HRTCConnStateType state, HRTCConnChangeReason reason, const char* description) 【功能说明】 连接状态改变回调。 【回调参数】 conn:连接对象。 state:连接状态类型,具体请参见HRTCConnStateTypes。 reason:连接状态改变原因,具体请参见HRTCConnChangeReason。 description:连接状态改变描述。
  • onAudioMixStateChangedNotify void onAudioMixStateChangedNotify(HRTCAudioFileState state, HRTCAudioFileReason reason, long value); 【功能说明】 音频文件播放状态改变回调。 【回调参数】 state:音频文件播放状态,具体请参见HRTCAudioFileState。 reason:音频文件播放状态变化原因,具体请参见HRTCAudioFileReason。 value:state为HRTC_AUDIO_FILE_OPEN_COMPLETED表示音频文件的时长,单位为ms;state为HRTC_AUDIO_FILE_POSITION_UPDATE表示当前播放的位置,单位为ms。其他情况下,value值无意义。
  • 客户端错误码 本章节介绍了SDK的客户端错误码HRTCErrorCode的详细信息。 当SDK运行出现网络、媒体相关等错误时,SDK无法自动恢复,需要App干预或进行用户提示。 枚举 错误码 描述 错误原因 HRTC_ERR_CODE_SUC CES S 0 成功 - HRTC_ERR_CODE_SDK_INTERNAL_ERROR 90000001 SDK内部系统错误 SDK内部异常。 HRTC_ERR_CODE_MSG_TOOLARGE 90000002 发送的消息太大 发送消息时,消息体太大。 HRTC_ERR_CODE_MEM_NOT_ENOUGH 90000003 内存不足 内存申请不到。 HRTC_ERR_CODE_SYNSEND_MSG_ERR 90000004 消息发送失败 消息队列异常,导致内部消息发送失败。 HRTC_ERR_CODE_PA RAM _ERROR 90000005 参数错误 包括如下两方面: 接口入参无效。 内部参数错误。 HRTC_ERR_CODE_API_CALLED_IN_WRONG_ORDER 90000006 API接口调用顺序不当 当前只有日志设置必须在初始化之前。 HRTC_ERR_CODE_SETUP_LOCAL_VIEW_FAIL 90000007 设置本地窗口失败 该错误码仅Android平台返回。 HRTC_ERR_CODE_START_REMOTE_STREAM_VIEW_FAIL 90000008 设置远端窗口失败 publisher场景没有远端画面,不应该设置;用户不存在;处于离会中等。 HRTC_ERR_CODE_SET_DEVICE_FAIL 90000009 设置设备失败 设置播放、录音、视频设备失败。 HRTC_ERR_CODE_INITIALIZING 90000010 初始化过程中 初始化过程中,不能再做初始化或者去初始化操作。 HRTC_ERR_CODE_UN_INITIALIZING 90000011 去初始化过程中 去初始化过程中,不能再做初始化或者去初始化操作。 HRTC_ERR_CODE_ LOG _UPLOADING 90000012 日志正在上传 日志正在上传过程中。 HRTC_ERR_CODE_MEDIA_PORT_ERROR 90000013 媒体端口获取失败 音频从10010开始,视频从10020开始,尝试10次,端口都被占用了。 HRTC_ERR_CODE_WATCH_VIEW_TOO_MUCH 90000014 视频选看超过规格 当前支持最多设置16个设置远端窗口,若超过,则会失败。 HRTC_ERR_CODE_MEDIA_CMP_ERR 90000015 媒体协商失败 与服务器之间媒体协商失败。 HRTC_ERR_CODE_SERVER_NO_RESPONSE 90000016 服务器没有响应 选看在2-4s内没有收到服务器的响应。 HRTC_ERR_CODE_USER_ROLE_CHANGE_FAIL 90000017 角色切换失败 角色切换失败。 HRTC_ERR_CODE_JOIN_ROOM_FAIL 90000018 加入房间失败 加入房间失败。 HRTC_ERR_CODE_JOIN_ROOM_STATUS_BUSY 90000019 加入房间失败 已在房间中或正在网络探测中。 HRTC_ERR_CODE_JOIN_ROOM_SERVER_ERROR 90000020 加入房间失败 加入房间失败,服务器异常。 HRTC_ERR_CODE_JOIN_ROOM_SERVICE_UNREACHABLE 90000021 加入房间失败 加入房间失败,服务不可达。 HRTC_ERR_CODE_JOIN_ROOM_AUTH_FAIL 90000022 加入房间失败 加入房间失败,鉴权失败。 HRTC_ERR_CODE_JOIN_ROOM_AUTH_RETRY 90000023 加入房间失败 加入房间失败,鉴权重试。 HRTC_ERR_CODE_JOIN_ROOM_CLOCK_SYNC 90000024 加入房间失败 加入房间失败,时钟同步。 HRTC_ERR_CODE_JOIN_ROOM_URL_NOT_RIGHT 90000025 加入房间失败 加入房间失败,url错误。 HRTC_ERR_CODE_KICKED_OFF 90000026 被踢出房间 相同用户ID等原因,被踢出房间。 HRTC_ERR_CODE_SCREEN_CAPTURE_FAIL 90000027 共享失败 房间内已经存在辅流等原因,导致共享失败。 HRTC_ERR_CODE_EXT_MEDIA_OUTPUT 90000028 设置输出设备错误 当开启媒体数据输出时,不允许设置输出设备,否则会报此异常。 HRTC_ERR_CODE_RECONNECT_FAILED 90000029 连接异常 重连失败。 HRTC_ERR_CODE_SERVER_BREAK_DOWN 90000030 服务器异常 服务器宕机。 HRTC_ERR_CODE_SIGNATURE_EXPIRED 90000031 签名过期 签名已过期。 HRTC_ERR_CODE_SET_REMOTE_RENDER_MODE_FAIL 90000032 设置视图模式失败 设置远端窗口模式失败。 HRTC_ERR_CODE_SET_REMOTE_AUDIO_MUTE_FAIL 90000033 设置远端音频接收失败 订阅或取消订阅音频失败。 HRTC_ERR_CODE_SET_USEROLE_NOT_ALLOWED 90000036 跨房后,不允许在本房间内做角色切换 跨房后,不允许在本房间内做角色切换,通过onError返回。 HRTC_ERR_CODE_EXT_MEDIA_CAPTURE_INPUT 90000037 当前为第三方采集模式,禁用该操作 开启第三方采集模式后,禁用部分操作。 HRTC_ERR_CODE_SET_EXTAUDIO_CAPTURE_FAIL 90000038 设置第三方音频采集失败 设置第三方音频采集失败。 HRTC_ERR_CODE_SET_EXTVIDEO_CAPTURE_FAIL 90000039 设置第三方视频采集失败 设置第三方视频采集失败。 HRTC_ERR_CODE_SET_SHARE_COMPUTER_SOUND_FAIL 90000040 设置共享声音开关失败 设置共享声音开关失败。 HRTC_ERR_CODE_SET_LOCAL_AUDIO_MUTE_FAIL 90000041 启停上行音频流失败 启停上行音频流失败。 HRTC_ERR_CODE_SET_LOCAL_VIDEO_MUTE_FAIL 90000042 启停上行视频流失败 启停上行视频流失败。 HRTC_ERR_CODE_USER_REMOVED 90000043 用户被移除 用户被移除。 HRTC_ERR_CODE_ROOM_DISMISSED 90000044 房间被解散 房间被解散。 HRTC_ERR_CODE_SETUP_REMOTE_VIEW_FAIL 90000045 设置远端View失败 设置远端View失败。 HRTC_ERR_CODE_REGION_NOT_COVERED 90000048 区域未覆盖 所在区域不能提供SparkRTC服务。 HRTC_ERR_CODE_SET_EXTDATA_CAPTURE_FAIL 90000049 设置第三方辅流采集失败 设置第三方辅流采集失败 HRTC_ERR_CODE_NOT_SUPPORT 90000050 该平台不支持此功能 该平台不支持此功能 HRTC_ERR_CODE_AUDIO_ROUTE_HANDLER_NOT_INIT 90000051 音频路由没有初始化 音频路由没有初始化 HRTC_ERR_CODE_AUDIO_ROUTE_PLUGIN_CONNECTED 90000052 音频路由外设连接 音频路由外设连接 HRTC_ERR_CODE_AUDIO_ROUTE_NO_NEED_CHANGE 90000053 音频设置路由和当前路由相同 音频设置路由和当前路由相同 HRTC_ERR_CODE_AUDIO_ROUTE_CHANGE_ERROR 90000054 音频路由切换失败 音频路由切换失败 HRTC_ERR_CODE_AUDIO_ROUTE_CLOSED 90000055 音频路由控制开关关闭,无法切换路由 音频路由控制开关关闭,无法切换路由 HRTC_ERR_CODE_LOCAL_AUDIO_DISABLE_FAIL 90000056 当前未推音频流 当前未推音频流 HRTC_ERR_CODE_ROLE_NOT_SUPPORT 90000057 当前角色不支持该操作 当前角色不支持该操作 HRTC_ERR_CODE_ENABLE_BACKGROUND_FAIL 90000058 没有动态加载ML图像分割库,不能支持背景虚化和背景替换能力 没有动态加载ML图像分割库,不能支持背景虚化和背景替换能力 HRTC_ERR_CODE_ENABLE_BACKGROUND_FAIL 90000059 背景虚化或背景替换开启失败 背景虚化或背景替换开启失败 HRTC_ERR_CODE_COMMAND_REMOTEUSER_FAIL 90000060 发送CMD时,目标用户不存在 发送CMD时,目标用户不存在 HRTC_ERR_CODE_COMMAND_NOTENABLED 90000061 CMD没有被启用 CMD没有被启用 HRTC_ERR_CODE_MSG_TOOQUICK 90000062 发送的消息太频繁 发送的消息太频繁 HRTC_ERR_CODE_MSG_API_CALL_UNREASONABLE 90000063 API调用不合理 API调用不合理 HRTC_ERR_CODE_VIDEO_BAD_STATE 90000064 模块状态错误 模块状态错误 HRTC_ERR_CODE_AUDIO_SHARE_FAIL 90000065 声音共享失败 声音共享失败 父主题: 接口参考
  • onAudioFrameRecord - (BOOL)onAudioFrameRecord:(HWRtcAudioFrame * _Nonnull)audioFrame; 【功能说明】 音频采集原始数据回调,对音频数据的修改会发送到远端。 【回调参数】 HWRtcAudioFrame:音频数据格式,具体请参见HWRtcAudioFrame。 【返回参数】 YES:处理结果成功。 NO:处理结果失败。
  • onAudioFramePlayback - (BOOL)onAudioFramePlayback:(HWRtcAudioFrame * _Nonnull)audioFrame; 【功能说明】 需要播放的音频数据回调,从接口回调中取到音频数据以作后处理。 【回调参数】 HWRtcAudioFrame :音频数据格式,具体请参见HWRtcAudioFrame。 【返回参数】 YES:处理结果成功。 NO:处理结果失败。
  • 基本使用逻辑 创建新的项目工程,导入SDK后,需要先创建引擎。 您可以在入会前进行视频编码、声音播放模式等参数的配置。 设置本地视图。 用户加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以为其设置远端视图。 在会中,也可以进行切换摄像头等参数的配置。 离开房间后,需销毁对应资源。 在时序图中,单击相应接口名称可快速跳转到相应接口位置查看其使用方法。 父主题: iOS/macOS SDK
  • 代码化构建 参考以下代码样例,在创建代码化构建使用的YAML文件中的PRE_BUILD部分代码信息。 1 2 3 4 5 6 version: 2.0 # 必须是2.0 steps: PRE_BUILD: - sh: inputs: command: echo ${a} 表2 代码示例参数说明 参数 类型 说明 command string 请根据需要填写执行构建的shell命令。更多命令使用方法可参考shell官网。
  • 图形化构建 在配置构建步骤中,添加“执行shell命令”构建步骤,参考表1配置参数。 表1 执行shell命令参数说明 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 支持中文、英文、数字、“-”、“_”、英文逗号、英文分号、英文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 工具版本 根据用户实际开发环境的需要,选择对应的工具版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 命令 请根据需要填写执行构建的shell命令。更多命令使用方法可参考shell官网。
  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“custom_env_build_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“custom_env_repo”。 单击“下一步”,选择“空白构建模板”。然后单击“确定”,自动跳转到构建步骤配置页面。 在“构建步骤”页签,单击“图形化”,单击“点击添加构建步骤”。 在右侧区域“容器类”页签中,单击“使用SWR公共镜像”所在行的“添加”,按照图4配置参数。其中“镜像地址”填写10中保存的完整镜像名称“swr.{regionID}.myhuaweicloud.com/hwstaff_codeci_gray/custom_ubuntu_image:v1.0”,将如下代码示例拷贝至“命令”中,其余参数保持默认即可。 java -version # 打印当前镜像里安装的jdk版本号 mvn -v # 打印当前镜像里安装的maven版本号 mvn package -Dmaven.test.skip=true -U -e -X -B # 执行maven构建命令 图8 配置使用SWR公共镜像 单击“添加步骤”,添加“上传软件包至软件发布库”构建步骤,“构建包路径”输入“**/target/*.?ar”,其他参数保持默认即可。 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,跳转到构建任务执行页面。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建私有依赖库 新建本实践中使用的私有依赖库。 新建dependency_repo代码仓 新建发布“dependencyProject-1.0.jar”工具包使用的代码仓。 新建dependency_task构建任务 新建发布“dependencyProject-1.0.jar”工具包的构建任务。 新建release_repo代码仓 新建发布应用使用的代码仓。 新建release_task构建任务 新建发布应用使用的构建任务,该构建任务依赖“dependencyProject-1.0.jar”工具包。 查看构建结果 查看本实践的的构建结果。
  • 应用场景 本实践案例将为您介绍,如何在CodeArts Build构建工程中引用私有依赖库中的二方或三方依赖包,实现应用的编译构建。本实践案例为您演示依赖包的发布和下载引用两个环节,共涉及2个Maven构建工程,1个私有依赖库。 构建工程“dependency_task”:用于发布工具包,将“pom.xml”文件定义的“dependencyProject-1.0.jar”工具包发布到私有依赖库,为构建工程“release_task”提供依赖工具包引用。 构建工程“release_task”:用于发布应用,构建时依赖构建工程“dependency_repo”发布到私有依赖库的工具包“dependencyProject-1.0.jar”。 私有依赖库“dependency_libs”:存放构建工程“dependency_task”发布的工具包“dependencyProject-1.0.jar”,为构建工程“release_task”提供依赖工具包下载。 本实践需要依赖使用的其他服务如下: 代码托管服务 ,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 应用场景 编译构建服务支持通过yaml文件配置构建脚本,用户可以将构建时需要配置的构建环境、构建参数、构建命令、构建步骤等操作,通过yaml语法编写成build.yml文件实现,并且将build.yml文件和被构建的代码一起存储到代码仓库。执行构建任务时,系统会以build.yml文件作为构建脚本执行构建任务,使构建过程可追溯、可还原,安全可信。本实践以使用Maven构建为例,为您演示上传软件包至软件发布库和推送镜像到SWR。 本实践需要依赖使用的其他服务如下: SWR,即 容器镜像服务 。SWR镜像仓库用于存储用户上传的Docker镜像,可以在构建、部署或其他场景使用。 代码托管服务,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“maven_private_repository_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“maven_private_repository_repo”。 单击“下一步”,选择“Maven”模板。然后单击“确定”,自动跳转到构建步骤配置页面。 在“构建步骤”页签,单击“图形化”,单击左侧“Maven构建”,按照如下说明配置构建步骤,其他参数保持默认即可。 命令:mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”,删除#mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”。 发布依赖包到CodeArts私有依赖库:选择“配置所有pom”。 “release仓库”和“snapshot仓库”选择新建私有依赖库中仓库名“maven_repository”。 图3 配置Maven构建步骤 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,自动跳转到构建任务执行页面。
  • 相关信息 当前实践展示的是归档“Snapshot”快照版本,如果要归档正式的“Release”发布版本,可以修改新建CodeArts Repo代码仓中的代码仓“pom.xml”文件中的“version”内容,将“1.0.0-SNAPSHOT”修改为“1.0.0”,提交文件改动,重新执行构建任务即可。 Maven构建会根据模块的版本号,即““pom.xml”文件中的“version”内容是否带有“-SNAPSHOT”来判断是快照版本还是正式版本。
  • 配置构建步骤并执行构建任务 单击“点击添加构建步骤”,添加“下载文件管理的文件”构建步骤,“步骤显示名称”和“工具版本”保持默认,“下载文件”选择上传settings.xml文件至编译构建中上传的文件“settings.xml”。 单击“添加步骤”,添加“Maven构建”构建步骤,“命令”窗口中mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”注释,删除mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”,并将mvn deploy -Dmaven.test.skip=true -U -e -X -B改为mvn deploy -Dmaven.test.skip=true -s settings.xml -U -e -X -B,其他参数保持默认即可。 图5 打包命令 图6 发布依赖包命令 单击“保存并执行”。在弹出的窗口中单击“确定”,等待构建任务执行完成。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建私有依赖库 新建本实践中使用的私有依赖库。 查询私有依赖仓库信息 查询私有依赖库的id和url信息,用于配置在代码仓的“pom.xml”文件中。 上传settings.xml文件至编译构建 上传“settings.xml”文件到编译构建服务的“文件管理”中。 新建CodeArts Repo代码仓 新建本实践需要使用的代码仓。 配置Maven构建产物发布的私有依赖库地址 配置构建产物上传的私有依赖库的地址。 新建编译构建任务 新建本实践需要使用的编译构建任务。 配置构建步骤并执行构建任务 配置“下载文件管理的文件”和“Maven构建”步骤并执行构建任务。 查看编译构建结果 在私有依赖库中查看编译构建结果。
  • 查看编译构建结果 “构建流程”页签中展示了当前构建任务运行的全量流程图,在构建任务未执行完成时,可以清晰的看到Job1和Job2是并行执行,Job3是等待Job1和Job2执行完成后才执行。 单击“构建流程”页签中左侧菜单的“Job1”或右侧界面的绿色矩形图形的“Job1”,进入Job1构建任务的执行详情页面,可以查看Job1构建任务的构建日志,如图2所示。 图2 查看构建结果 其中, “步骤日志”页签展示了当前构建任务运行顺序和资源调度情况。 “构建参数”页签展示了当前构建任务全局的参数信息。 “构建脚本”页签展示了当前构建任务执行的脚本内容。 参考1可查看“Job2”和“Job3”的构建任务执行详情。
  • 应用场景 在编译构建中,构建任务是构建的最小单元,适用于业务比较简单的场景,但是在有些复杂的构建场景下,构建任务可能并不能满足复杂的构建要求。例如,用户希望更模块化、更加细粒度的拆分构建任务,并按照构建任务之间的依赖顺序进行构建。 为此,编译构建服务支持使用BuildFlow将多个存在依赖关系的构建任务按照有向无环图(DAG)的方式组装起来,BuildFlow将会按照构建的依赖关系并发进行构建。 本实践为您演示构建任务Job3依赖于构建任务Job1和构建任务Job2的构建工程,实践中依赖使用代码托管服务,用于存储实践中项目所使用的代码。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建CodeArts Repo代码仓 为本实践新建Repo代码仓用于存储代码文件。 新建build.yml文件 通过“build.yml”定义整个构建的流程。 新建build.yml中使用的子任务执行脚本 新建整个构建过程中依赖的构建任务的执行脚本。 新建并执行编译构建任务 新建BuildFlow编译构建任务并执行。 查看编译构建结果 查看编译构建结果。
共100000条