- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南(低代码)
- AstroZero低代码使用流程
- 授权用户使用AstroZero并购买实例
- 添加AstroZero开发者用户
- 使用AstroZero创建应用
-
使用AstroZero开发应用后端
- 应用后端开发概述
- 对象
- 事件
- 脚本
-
服务编排
- AstroZero服务编排概述
- 创建空白AstroZero服务编排
- 定制已有AstroZero服务编排
-
为AstroZero服务编排设置图元
- 为AstroZero服务编排添加子服务编排图元
- 为AstroZero服务编排添加脚本图元
- 为AstroZero服务编排添加记录创建图元
- 为AstroZero服务编排添加记录删除图元
- 为AstroZero服务编排添加记录查询图元
- 为AstroZero服务编排添加记录更新图元
- 为AstroZero服务编排添加发送邮件图元
- 为AstroZero服务编排添加发送事件图元
- 为AstroZero服务编排添加赋值图元
- 为AstroZero服务编排添加循环图元
- 为AstroZero服务编排添加跳出循环图元
- 为AstroZero服务编排添加决策图元
- 为AstroZero服务编排添加等待图元
- 为AstroZero服务编排添加BO图元
- 为AstroZero服务编排添加连接器图元
- 为AstroZero服务编排添加生成文档图元
- 管理AstroZero服务编排
- 自定义AstroZero服务编排的URL
- 触发器
- 工作流
- 定时任务
-
使用AstroZero开发应用前端
- 应用前端开发概述
-
标准页面
- AstroZero标准页面概述
- 创建空白AstroZero标准页面
- 使用模板创建AstroZero标准页面
- 为AstroZero标准页面添加组件
-
设置AstroZero标准页面组件属性
- 设置AstroZero标准页面容器组件属性
- 设置AstroZero标准页面表单组件属性
- 设置AstroZero标准页面表格组件属性
- 设置AstroZero标准页面分栏组件属性
- 设置AstroZero标准页面栅格容器组件属性
- 设置AstroZero标准页面列表视图组件属性
- 设置AstroZero标准页面表格(新)组件属性
- 设置AstroZero标准页面图片组件属性
- 设置AstroZero标准页面二维码组件属性
- 设置AstroZero标准页面分页组件属性
- 设置AstroZero标准页面模态框组件
- 设置AstroZero标准页面输入框组件属性
- 设置AstroZero标准页面下拉框组件属性
- 设置AstroZero标准页面按钮组件属性
- 设置AstroZero标准页面上传组件属性
- 设置AstroZero标准页面面包屑组件属性
- 设置AstroZero标准页面视频播放组件属性
- 添加事件实现AstroZero组件间交互
- 添加库扩展AstroZero标准页面功能
- 查看AstroZero标准页面性能
- 调测AstroZero标准页面
- 将AstroZero标准页面保存为模板
- 管理AstroZero标准页面
-
高级页面
- AstroZero高级页面概述
- 创建AstroZero高级页面
- 为AstroZero高级页面添加组件
-
设置AstroZero高级页面预置组件属性
- 设置AstroZero高级页面轮播组件属性
- 设置AstroZero高级页面图片组件属性
- 设置AstroZero高级页面文本编辑组件属性
- 设置AstroZero高级页面自定义背景框组件属性
- 设置AstroZero高级页面基本柱图组件属性
- 设置AstroZero高级页面基本折线图组件属性
- 设置AstroZero高级页面基本饼图组件属性
- 设置AstroZero高级页面水位图组件属性
- 设置AstroZero高级页面散点图组件属性
- 设置AstroZero高级页面雷达图组件属性
- 设置AstroZero高级页面仪表盘组件属性
- 设置AstroZero高级页面翻牌器组件属性
- 设置AstroZero高级页面路由导航和路由视图组件属性
- 为AstroZero高级页面添加自定义组件
- 为AstroZero高级页面组件绑定数据
- 添加事件或宏实现AstroZero高级页面组件交互
- 调测AstroZero高级页面
- 查看AstroZero高级页面性能
- 管理AstroZero高级页面
- 报表
- 使用AstroZero进行应用集成开发
- 使用AstroZero对应用进行个性化设置
- 发布并部署AstroZero开发的应用
- 管理AstroZero中已安装的应用
- AstroZero低代码平台管理中心
-
经典版开发指导
- 经典版入门必读
- 应用
- 对象
- 标准页面
- 高级页面
- 服务编排
- 脚本开发
- BPM服务编排
- API接口
- 集成开发
- 消息事件
- 触发器
- 报表和仪表板
- CICD持续集成与交付
- 服务组件(BO)
- 调测能力
- 工程能力
- 原生服务
- 其他功能
- 管理中心
- 白名单特性
- 用户指南(零代码)
- 最佳实践
- API参考
-
常见问题
- 高频常见问题
- 产品咨询类
-
应用后端开发
- 如何区分不同账户间的数据库对象?
- 在AstroZero对象中删除字段后重新创建时,引用的地方报错
- 如何刷新AstroZero对象的页面布局?
- 如何彻底删除AstroZero应用目录树中的数据?
- AstroZero自定义对象预置的owner字段,用于记录什么用户?
- AstroZero脚本支持使用哪些语言和库?
- 在AstroZero脚本中执行sql语句时,可以不用@useObject修饰数据对象吗?
- 在AstroZero脚本中,如何返回zip压缩文件内容?
- 如何通过AstroZero脚本,导出xls文件让用户下载?
- AstroZero脚本中是否支持multipart/form-data请求?
- AstroZero服务编排中涉及数据操作的脚本图元,在其他图元操作失败的情况下,是否可以回滚?
- 事件触发的AstroZero服务编排,发送事件后,服务编排没有运行?
- 在AstroZero服务编排或工作流中,引用的资源无法编辑
- 如何实现一个资源被多个AstroZero应用的服务编排调用?
- 在AstroZero服务编排中,支持跨应用引用资源吗?
- 在AstroZero服务编排、工作流或脚本中,邮件发送功能不可用?
- AstroZero开发者如何使用自己的邮箱发送邮件?
-
应用前端开发
- 在AstroZero标准页面中,如何调用服务编排或脚本?
- 在AstroZero标准页面组件较多时,如何快速选中组件?
- 表格字段太多,导致AstroZero标准页面无法完整显示,该如何处理?
- 在AstroZero标准页面中,如何实现有子表的表格?
- 在AstroZero标准页面中,如何实现下拉框选项值的筛选功能?
- 在AstroZero标准页面中,如何实现移动端上拉异步加载数据功能?
- 如何查看AstroZero标准页面的URL格式?
- 在AstroZero标准页面弹窗的onOk事件中,不想关闭弹窗该怎么处理?
- 在AstroZero中编排高级页面时,如何实现不加载组件库资源?
- 在AstroZero中自定义高级页面组件(widget)时,修改了JS文件,修改部分不生效?
- 在AstroZero组件库中,部分组件在组件详情页看不到更新和编辑入口
- 在AstroZero高级页面中,如何进行统一的HTTP状态拦截?
- 配置高级页面组件桥接器实例属性时,如何设置下拉框中的选项值?
- 在AstroZero高级页面中,如何实现所有组件都加载完成后,再执行某段逻辑?
- 在AstroZero中,如何实现多人协作开发?
- 在AstroZero运行环境中,如何实现游客访问标准页面?
- 应用发布与部署
- Astro轻应用平台管理中心
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
CICD持续集成与交付
使用说明
AstroZero通过对接软件开发生产线(CodeArts)和代码托管(CodeArts Repo),提供应用代码托管、代码检查、代码编译、验证、部署、发布功能,实现软件持续集成(Continuous Integration,简称CI)和持续交付(Continuous Delivery,简称CD)。
- 软件开发生产线(CodeArts)是集华为近30年研发实践、前沿研发理念、先进研发工具为一体的一站式云端DevOps平台,面向开发者提供的云服务,即开即用,让开发者快速而又轻松地开启云端开发之旅。更多介绍,请参见软件开发生产线(CodeArts)产品文档。
- 代码托管CodeArts Repo(原CodeHub)源自华为千亿级代码管理经验,基于Git,提供企业代码托管的全方位服务,为软件开发者提供基于Git的在线代码托管服务,包括代码克隆/下载/提交/推送/比较/合并/分支/Code Review等功能。更多介绍,请参见代码托管(CodeArts Repo)帮助文档。
场景描述
将在AstroZero开发环境中,开发的某些应用元数据上传到云端代码仓库中进行托管,解决软件开发者跨地域协同、多分支并发、代码版本管理、安全性等方面的问题。通过创建自动交付流水线,完成代码检查、编译构建和部署任务,将这些应用打包成资产包,部署到其他AstroZero环境。
步骤1:开通CodeArts服务并完成前置操作
- 开通软件开发生产线(CodeArts)服务。
使用华为账号或拥有DevCloud Console FullAccess权限的IAM用户账号(配置权限策略方法请参考创建用户并授权使用软件开发平台控制台),登录CodeArts控制台,区域请选择“华北-北京四”。请根据需求选择规格,这里选择“基础版”,按照提示开通软件开发生产线服务。
- 创建项目。
- 添加项目成员。
- 在所有项目页面,单击已创建项目上的
,选择“设置”,进入项目设置页面。
图2 设置 - 在左侧导航栏中,选择“成员管理”,单击“添加成员”。
- 根据自身业务需求,选择添加用户的方式(本示例选择“从本企业用户”)。
图3 选择从本企业用户
- 在添加成员页面,选择对应的用户,单击“下一步”。
图4 勾选用户
- 根据需要,设置项目角色(本示例设置为“项目经理”)。
图5 设置项目角色
- 设置完成后,单击“保存”。
- 在所有项目页面,单击已创建项目上的
- 在“testSH”项目中,新建代码仓库。
步骤2:在AstroZero上配置代码库
代码仓库用于项目代码的版本管理,在代码托管前,需要在AstroZero上配置代码库对接信息。若需要将不同服务区域(跨地域协同开发场景)的AstroZero开发环境的应用元数据归档,则需要在各个AstroZero开发环境中配置代码库。
AstroZero支持以下两种托管方式,请根据需要选择一种方式配置代码库:
- 租户级代码库托管:通过配置整个租户的代码仓库(华为云 CodeArts Repo)。配置后,租户开发的应用元数据可以同步到代码仓库,提供历史变更记录、对比等版本管理能力。
- 参考如何进入经典开发环境中操作,开发者登录要进行应用代码托管的AstroZero开发环境,在首页上方单击“管理”,进入经典版管理中心。
- 在左侧导航栏中,选择“系统管理 > 代码库配置”。
- 在右侧租户级代码库配置页面,单击
,参考表1设置对接参数,单击“保存”。
图7 配置对接参数表1 代码仓参数说明 参数
说明
仓库地址
配置为4.d中,记录的代码仓库HTTPS方式访问地址。
分支
归档代码用到的仓库分支,默认为“master”。
- 使用代码仓库成员的IAM账号,登录CodeArts控制台。
- 在左侧菜单栏中,选择“代码托管”。
- 在仓库列表中,单击仓库名。
- 在“分支”页签,查看当前分支取值,默认为“master”。
租户名
开通代码托管服务的华为账号。
用户名
设置为仓库成员的IAM用户名。
密码
IAM用户登录华为云的登录密码。
- 项目级代码库托管:以应用为维度,通过配置某个应用的代码仓库,将某应用元数据可以同步到代码仓库,提供历史变更记录、对比等版本管理能力。
- 开发者登录要进行应用代码托管的AstroZero经典版开发环境,单击某一需要归档代码的应用,进入应用开发页面。
- 在左侧选择
,单击右上的
。
- 在弹出的确认页面,确认后单击“确定”。
- 参考表1,配置项目级代码仓库。
其中,“忽略测试脚本”表示是否忽略脚本名以“_test”结尾的脚本,该脚本为开发者在开发应用时创建的测试脚本,脚本命名时以“_test”结尾。勾选表示忽略,勾选后,“_test”结尾的脚本不会归档至代码仓中。图10 项目级代码仓库配置
步骤3:进行代码托管
将AstroZero上开发的应用代码元数据归档到代码仓库。这里以归档某开发环境某个应用为例进行说明,您可对多个配置代码库的AstroZero环境的多个应用进行代码托管。
- 返回AstroZero经典版开发环境首页,单击某一需要归档代码的应用,进入应用开发页面。
- 参考图11和图12,在左侧单击
。
首次归档应用代码,所有代码显示在“未暂存的更改”下,单击后面的“+”,再单击
。设置归档描述信息,单击“确认”,即可归档该应用所有代码。支持选择部分代码归档,在需要归档的代码目录后,单击“+”进行操作即可。
- 单击“源代码管理”后的
,打开代码仓库首页。
图13 提交代码 - 在代码仓库“文件”页签下,单击“Application”,可查看应用的归档代码。
图14 查看归档应用图15 查看应用代码
说明:
代码仓库“提交网络”页签是以流向图的形式展现了某条分支或标签的整个提交(commit)历史(包括动作、时间、提交者、提交系统生成备注和手动填写备注)以及提交历史的关系。
步骤4:配置流水线
流水线提供可视化、可定制的自动交付流水线,支持代码检查、编译构建、部署等多种任务类型。更多关于流水线说明,请参见流水线官网文档。
- 使用华为账号登录CodeArts控制台,区域选择“华北-北京四”。
- 在左侧菜单栏中,选择“所有项目”,在项目列表中单击项目名,进入项目详情页面。
- 在左侧导航栏中,选择“持续交付 > 流水线”,进入流水线。
- 创建流水线。
- 单击“新建流水线”,进入新建流水线页面。
- 在“流水线源”中,选择流水线源“Repo”、选择4中创建的仓库、默认分支“master”,单击“下一步”。
- 在“模板选择”中,选择系统预置的“应用魔方编译部署”模板,单击“确定”,进入工作流配置页面。
- 配置流水线。
- 在工作流配置页面,单击“构建任务”中的任务,记录任务名称,也可自定义任务名称并记录下来。
- 在“参数设置 > 自定义参数”中,配置流水线参数。
通过将流水线参数传递给各个任务使用,实现了任务间数据流动的统一,用户只需要配置好流水线参数,即可完成编译构建、部署、测试等任务的数据拉通。
图16 自定义参数表2 参数说明 参数
说明
codeBranch
代码所属的仓库分支。
- 字符串类型参数。
- 默认值为“master”。
- 不是私密参数。
- 打开“运行时设置”开关,表示单独执行构建任务时支持变更参数值,并且也会把该参数上报流水线。
- 状态为“已使用”,记录参数已被使用。
releaseVersion
流水线版本号。
- 自增长类型参数。
- 默认值不用配置,每全新执行一次流水线后,下次执行时该参数值末位数字会自动+1。
- 不是私密参数。
- 打开“运行时设置”开关,表示单独执行构建任务时支持变更参数值,并且也会把该参数上报流水线。
- 状态为“已使用”,记录参数已被使用。
packageName
发布后包的名称。
- 字符串类型参数。
- 需要自定义默认值,取值为发布后包的名称。
- 不是私密参数。
- 打开“运行时设置”开关,表示单独执行构建任务时支持变更参数值,并且也会把该参数上报流水线。
- 状态为“已使用”,记录参数已被使用。
repoName
“编译构建”中的任务名称。
- 字符串类型参数。
- 需要自定义默认值,取值为5.a中的任务名称。
- 不是私密参数。
- 打开“运行时设置”开关,表示单独执行构建任务时支持变更参数值,并且也会把该参数上报流水线。
- 状态为“已使用”,记录参数已被使用。
appcubeDomianName
需要部署应用的AstroZero环境域名。
- 字符串类型参数。
- 需要自定义默认值,配置为需要部署应用的AstroZero环境域名,例如域名为“https://appcuberun.cn-north-4.huaweicloud.com”。
- 不是私密参数。
- 打开“运行时设置”开关,表示单独执行构建任务时支持变更参数值,并且也会把该参数上报流水线。
- 状态为“已使用”,记录参数已被使用。
appNames
编译发布的应用包名称,即步骤3:进行代码托管中托管到代码仓库中的应用名称。
- 字符串类型参数。
- 需要自定义默认值,配置为代码仓库中的应用名称。如果打包所有应用,则配置为“all”;如果配置为多个应用,应用名称之间用英文空格间隔。
- 不是私密参数。
- 打开“运行时设置”开关,表示单独执行构建任务时支持变更参数值,并且也会把该参数上报流水线。
- 状态为“已使用”,记录参数已被使用。
boNames
编译发布的BO包名称,即步骤3:进行代码托管中托管到代码仓库中的BO名称。
- 字符串类型参数。
- 需要自定义默认值,配置为代码仓库中的BO名称。如果打包所有BO,则配置为“all”;如果配置为多个BO,BO名称之间用英文空格间隔。
- 不是私密参数。
- 打开“运行时设置”开关,表示单独执行构建任务时支持变更参数值,并且也会把该参数上报流水线。
- 状态为“已使用”,记录参数已被使用。
complileOptions
表示在安装应用包时,在导入实例化配置数据之前或者之后执行的脚本。
- 字符串类型参数。
- 默认值不用配置,在提交代码,在AstroZero平台打包设置的参数配置会自动提交过来。例如,值为preInstallHandler=安装前置脚本名称,postInstallHandler=安装后置脚本名称。
- 不是私密参数。
- 打开“运行时设置”开关,表示单独执行构建任务时支持变更参数值,并且也会把该参数上报流水线。
- 状态为“已使用”,记录参数已被使用。
- 在页面左上角根据需要修改流水线名称,名称中建议携带发布部署的应用名和AstroZero环境实例名。
- 设置完成后,单击“保存”。
- 新增参数。
- 在项目页面,单击左侧导航栏中的“持续交付 > 编译构建”,进入编译构建页面。
- 根据5.a中记录的任务名称搜索任务,单击搜索到的任务名。
- 单击对应任务后的
,选择“编辑任务”。
- 在“参数设置”页签,单击“添加”,新增图17和表3中两个参数。
表3 新增参数说明 参数
说明
clientId
在AstroZero环境上部署应用需要调用AstroZero的接口,这里需要配置通过“客户端模式”OAuth鉴权的客户端ID。
- 字符串类型参数。
- 需要自定义默认值,配置为“客户端模式”OAuth鉴权的客户端ID,即client_id,获取方法请参考客户端模式接入认证。
- 设置为私密参数。参数为私密参数时,系统会将输入参数做加密存储,使用时进行解密,同时在运行日志里不可见。
- 关闭“运行时设置”开关。
clientSecret
在AstroZero环境上部署应用需要调用AstroZero的接口,这里需要配置通过“客户端模式”OAuth鉴权的客户端鉴权密钥。
- 字符串类型参数。
- 需要自定义默认值,配置为“客户端模式”OAuth鉴权的客户端鉴权密钥,即client_secret,获取方法请参考客户端模式接入认证。
- 设置为私密参数。参数为私密参数时,系统会将输入参数做加密存储,使用时进行解密,同时在运行日志里不可见。
- 关闭“运行时设置”开关。
- 设置完成后,单击“保存”。
- 返回项目页面,在左侧导航栏中选择“持续交付 > 流水线”,进入流水线。
- 单击流水线名称,进入流水线详情页面,单击“全新执行”,一键执行流水线。
- 执行完成后,查看执行结果。
- 单击构建任务旁的
,可以下载通过流水线自动构建出来的构建包。
- 单击任务旁的
,可以查看该任务的执行日志。
- 单击任务旁的
,可以单独执行该任务。
- 单击构建任务旁的
- 登录部署应用的AstroZero环境,检查是否部署完成。
- 若部署的环境为其他开发环境,应用会显示在开发环境首页的“库”页签下。
- 若部署的环境为运行环境,登录AstroZero管理中心,在左侧导航栏中,选择“应用管理 > 应用导航”,可查看到已部署的应用。
扩展知识


