云服务器内容精选

  • 配置流水线(添加代码检查任务) 在流水线的“任务编排”页面,单击或者。 单击,在“编辑阶段”页面,修改“阶段名称”为“代码检查”,并将“总是运行”设置为“否”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 在流水线的“代码检查”阶段,单击“新建任务”。 在“新建任务”页面的右侧区域,选择“代码检查”页签,搜索“CodeArtsCheck代码检查”并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。 在“任务配置”页面右侧区域“请选择需要调用的任务”处单击“点击创建”。 在“新建任务”页面,参照表2配置参数信息(此处以创建Repo源码源检查任务为例)。 表2 参数说明 参数项 描述 归属项目 任务所属项目。默认填写,无需设置。 代码源 选择Repo,从代码托管拉取代码进行检查。 任务名称 代码检查任务名称,可自定义。 仓库 选择需要检查的代码仓库。 分支 填写需要检查的仓库分支名称。 检查语言 选择需要检查的代码语言。 单击“新建任务”,进入“代码检查详情”页面,单击“开始检查”,即可执行代码检查任务。执行完代码检查任务后,还可以根据需要查看检查结果。 返回5的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择7配置完成的代码检查任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。 单击“确定”,添加代码检查任务完成。 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
  • 配置流水线(添加业务包构建任务) 在流水线的“任务编排”页面,单击或者。 单击,在“编辑阶段”页面,修改“阶段名称”为“构建阶段”,并将“总是运行”设置为“是”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 在流水线的“构建阶段”,单击“新建任务”。 在“新建任务”页面的右侧区域,选择“构建”页签,搜索“Build构建”并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。 在“任务配置”页面右侧区域“请选择需要调用的任务”处单击“点击创建”,如图2所示。 图2 Build构建任务配置 在“新建构建任务”页面的“基本信息”页面,自定义任务名称(以“adadss-build”为例),归属项目默认为当前服务,源码源选择“Repo”,选择对应的代码仓库(以创建好的“adadss”仓库为例)以及分支“master”,单击“下一步”。 在“构建模板”页面,选择“空白构建模板”模板,然后单击“下一步”,进入“构建步骤”的“图形化”页签,该页面的“构建环境配置”和“代码下线配置”无需配置,保持默认配置即可。 配置构建步骤“Maven构建”。 返回“构建步骤”页签,单击“点击添加构建步骤”,在右侧“添加步骤”页面搜索“Maven构建”,鼠标移至插件卡片并单击“添加”。 执行maven构建命令将业务代码打包,不同项目有所不同。 参考示例:mvn -Dassembly clean compile package -Dmaven.test.skip=true -U -T4 若某些jar包依赖不到,可将仓库地址添加在setting配置的公有依赖仓库。 配置镜像构建。 登录华为云 容器镜像服务 控制台,在左侧导航栏选择“我的镜像”,单击右上角“页面上传”,在“页面上传”对话框,创建组织(必须使用华为云账号),单击“选择镜像文件”,选择已经准备好的基础镜像tar包,单击“开始上传”,待任务进度显示“上传完成”,表示镜像文件上传成功。 基础镜像tar包仅需上传一次,后续可直接从镜像文件列表中选取。 在镜像仓库找到9.a上传的基础镜像,参照图3复制镜像地址。 图3 复制镜像地址 将9.b复制的镜像地址粘贴到Dockerfile文件中第一行FROM命令后,如图4所示。 图4 将镜像地址粘贴到Dockerfile文件中 返回华为云容器 镜像服务 控制台镜像列表中单击镜像tar包名称,进入镜像详情页面,选择“Pull/Push指南”页签,单击“操作步骤”中的“生成登录指令”。 在“登录指令”对话框中的“临时登录指令”框的指令末尾处单击,复制临时登录指令,如图5所示。 图5 复制临时登录指令 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“执行Docker命令”,鼠标移至该插件卡片并单击“添加”。 单击“执行Docker命令”步骤,在右侧“命令”参数下单击“添加”添加docker命令,在“命令”下拉框中选择“login”,参数框中输入“-u cn-north-7@K5X8GVN5B4H4B8KB9SDO -p 1dd00acee886bd05886cded19f5af1cb1e96326e4354fc0f3f493f12a3586518 swr.cn-north-7.myhuaweicloud.com”,登录环境以便Dockerfile文件中可正常获取基础镜像。 在“操作”列单击“+”继续添加docker命令,“命令”下拉框中选择“build”,参数框中输入“-t helloworldservice:23.11.02.1 -f ./deploy_docker/Dockerfile .”,指定代码仓中的Dockerfile文件,构建镜像。 工作目录一般为根目录。 在“操作”列单击“+”继续添加docker命令,“命令”下拉框中选择“save”,参数框中输入“-o helloworldservice.23.11.02.1.tar helloworldservice:23.11.02.1”,将镜像包保存为tar包。至此,添加docker命令完成,如图6所示。 图6 执行docker命令 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“Maven构建”,鼠标移至插件卡片并单击“添加”。执行zip命令,将tar包与业务代码中的package.json文件直接压缩成一个zip包。 参考命令:zip helloworldservice_23.11.02.1.zip helloworldservice.23.11.02.1.tar package.json 继续单击“添加步骤”,添加“上传文件到OBS”插件,在“上传文件到OBS”页面,参照表3配置相关参数。 表3 “上传文件到OBS”(业务包)步骤配置的参数说明 参数名称 参数说明 步骤显示名称 构建步骤的名称,默认为“上传文件到OBS”,保持默认或自定义修改均可。 授权用户 在下拉列表选择: 当前用户:上传到当前租户的OBS桶。 其他用户:可以通过选择 IAM 账号的方式上传到指定租户的OBS桶。 IAM账号 “授权用户”选择“其他用户”时需配置此参数,配置步骤如下: 单击“管理IAM账号”,进入“服务扩展点管理”页面。 单击“新建服务扩展点”,选择“IAM账户”,弹出“新建服务扩展点”对话框,填写以下参数,补充租户下用户的AK、SK即可: 连接名称:服务扩展点的名称。例如“obs权限”。 Access Key Id:访问密钥ID(AK),获取访问密钥AK/SK。 Secret Access Key:秘密访问密钥(SK),获取访问密钥AK/SK。 信息填写完成,单击“确定”。 构建产物路径 路径为10的zip包的相对路径或输入*模糊匹配(如“./DemoServiceB/*.zip”) 桶名 用户自定义构建结果上传到的目标OBS桶名。 OBS存储目录 用户自定义构建结果在OBS上的存储目录 OBS存储文件名 非必填项,构建结果在OBS上的存储文件名(不包含目录),留空时可上传多个文件,取构建产物文件名为OBS存储文件名;不为空时只能上传单个文件,如 application.jar。 是否上传文件夹 非必填项,可选择是否开启上传文件夹。 OBS头域 非必填项,上传文件时加入一个或多个自定义的响应头,当用户下载此对象或查询此对象元数据时,加入的自定义响应头会在返回消息的头域中出现。如:“键”填写成“x-frame-options”,“值”填写成“false”,即可禁止OBS中存放的网页被第三方网页嵌入。 单击右上角“新建”,配置构建任务完成。 返回5的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择12配置完成的构建任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。 单击“确定”,添加业务包构建任务完成。 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
  • 步骤二:创建指标 在“指标仓库”页面,单击已创建的逻辑主体。 单击逻辑主体页面的“新建指标”,选择“新建单个指标”。 配置指标参数,参数说明如表2所示,配置完成后,单击“创建”。 表2 配置指标参数说明 参数名称 参数说明 类型 选择需要创建指标的类型。 ABSTRACT:抽象指标。 BASIC:基础指标。 DERIVED:派生指标。 COMPOSITE:组合指标。 DERIVED_COMPOSITE:派生组合指标。 英文名称 自定义英文名称,支持输入字母、数据和下划线。 中文名称 自定义中文名称。 指标等级 选择指标等级。 GOLD:黄金指标,一般为请求量、时延、成功率。 HEALTH:健康指标。 NORMAL:普通指标。 描述 输入描述信息。 开放名称 在输入框输入并单击下方选项,来设置开放名称,可设置多个。也可以单击“复制名称”复制输入的指标英文名称作为开放名称。 在多指标group by场景,查询的返回结果中,使用开放名称作为指标的属性值;报表开发过程中使用该属性来提取查询结果。 指标类型 选择指标类型。 RequestCount:请求量。 DelayTime:时延。 SuccessRate:成功率。 FailureRate:失败率。 Speed:速度指标。 Bandwidth:带宽指标。 逻辑主体 选择指标来源的逻辑主体。 标签列表 选择标签,可多选,为指标关联标签。 指标责任人 输入指标责任人。 开放状态 设置指标开放状态。 抽象指标 单击“添加抽象指标”,选择已创建的抽象指标,可以为指标添加抽象指标。 是否多聚合字段 选择是否为多聚合字段指标。 是多聚合字段,需要选择聚合字段列表并设置表达式。 聚合类型 选择指标的统计方式。 聚合字段 指标的度量对象。 过滤器 单击“新增过滤器”,可以依据业务限定条件,给指标设置过滤规则,支持AND、OR多层嵌套过滤条件,节点类型为NODE。默认为AND,可单击AND后在下拉列表重新选择。然后设置字段、类型及取值,如果设置多个取值时,使用回车设置。 举例:有5个过滤条件ABCDE,过滤条件汇总后为(A AND B)OR (C AND D AND E),ABCDE即为NODE节点。
  • 操作须知 该功能仅对组织管理员可见。 组织管理员可将任一用户添加为开发中心用户,已添加的用户不可重复添加。 添加至开发中心“用户管理”中的用户称为开发中心用户,未添加至开发中心“用户管理”中的用户称为非开发中心用户。 开发中心的“项目经理”、“开发人员”、“测试人员”、“浏览者”角色仅开发中心用户可申请。 仅开发中心用户才能被添加至团队空间成员。 组织管理将用户从开发中心用户中删除时,会同步删除该用户在开发中心中所有的角色权限。 非组织管理员且非开发中心用户访问开发中心时,不可查看团队列表,不可关注团队,需要在开发中心概览页根据页面提示进行申请,申请时可选择任一组织管理员审批(申请电子流将生成待办推送至业务控制台由审批人进行审批)。 开发中心用户总人数只能小于等于总配额,超过用户总配额可联系AppStage开通者在AppStage管理控制台购买开发人员增量包来扩展开发中心用户数。
  • 准备工作 在执行操作前,需要提前完成如下准备工作,以满足操作的环境要求。 已购买AppStage的开发中心、运维中心、运行时引擎 已关联组织 已配置AppStage各中心服务授权 已添加组织的部门/成员信息 已录入产品/服务/微服务信息 AppStage租户需要在华为云上购买一个OBS桶并配置桶名(用于存放编译构建的产物),具体操作方法请参见创建桶。 父主题: 一站式应用开发、应用托管以及应用运维
  • 解决方案 一站式使用应用平台流程如图1所示。 图1 使用流程 表1 使用流程详解 序号 流程环节 说明 1 准备工作 将应用接入AppStage前需要依次完成购买AppStage、关联组织、配置AppStage各中心服务授权、添加组织的部门/成员信息、录入产品/服务/微服务信息和申请权限。 2 应用开发 配置开发团队及服务扩展信息 添加开发中心用户 开发中心的用户数根据购买规格有相应的用户数量限制,组织管理员通过用户的添加或删除来合理管理开发中心的使用人员。 创建团队 在开发中心进行服务开发前,需要组织管理员先创建一个团队,将团队关联需要开发的服务。 服务配置 将团队关联服务后,还需将团队关联的服务关联CodeArts项目,后续的服务开发管理过程中才能正常使用CodeArts服务的代码托管、流水线、编译构建功能。 添加团队成员 在团队多用户协作开发过程中,不同角色成员执行各自权限和责任事项,因此需要在团队中添加协作开发的各角色成员(项目经理、开发人员、测试人员等),实现统一有序的成员信息管理。 创建及规划版本 创建版本 对团队所关联的服务划分版本,包括创建版本的基本配置信息以及选择版本开始和结束时间。 规划交付件 在版本开发启动初期对产品开发过程所需的交付件进行规划,以辅助开发过程规范有序且可追溯。 开发版本 创建代码仓 使用代码托管内置的仓库模板创建代码管理的仓库。 下载代码 基于Git的 代码托管服务 ,支持将仓库文件下载到本地进行文件的操作。 安装插件 开发人员可下载所需的开发工具,如WiseStudio 插件、Nuwa 插件、Wushan 插件后进行安装。 开发代码 开发代码的详细指导请参见《开发指南》。 提交代码到代码仓 开发在本地完成业务代码后,需要提交代码文件至代码仓库。 代码安全检视 进行安全编码TOP问题的信息统计和检查结果录入。 管理交付件 管理版本开发过程不同阶段所需或交付的必要文档,保证版本开发过程阶段性成果沉淀以及过程可追溯。 构建版本 根据需要的场景,如开发测试环境应用部署、生产环境应用部署等,对这些自动化任务进行自定义编排,一次配置后就可以一键自动化触发调度执行。 测试版本 对于版本测试过程发现的缺陷进行记录、跟踪、分析和解决,包括管理版本缺陷、管理测试结论以及管理关键风险等。 编辑总体测试结论、系统预置的测试类型结论,新增和管理自定义测试类型的测试结论,以及新增和管理版本关键风险问题。 发布版本 待版本开发及编译构建完成,且发布准入检查项均通过后,可由开发人员、测试人员或项目经理提交标准发布申请,待项目经理审批通过后,将软件发布到对应的部署平台。 3 应用部署 服务环境配置 使用AppStage运维中心前需要先准备环境并为服务关联区域、账号和企业项目。 申请资源 应用部署需要使用虚拟机、CCE、数据库等相关资源,您可以申请资源,或者在华为云购买资源后,将资源接入AppStage。 更新环境 开发完成的应用软件包,通过流水线发布,可以发布至运维中心的部署服务中,使用部署服务完成应用部署。 4 应用运维 数据接入 虚拟机日志接入 支持通过部署filebeat完成虚拟机日志采集。日志接入后,可以对日志进行检索,查看已接入日志,具体操作请参见日志检索。 容器日志接入 支持将容器日志接入AppStage运维中心。 日志接入后,可以对日志进行检索,查看已接入日志,具体操作请参见日志检索。 主机监控接入 支持定义服务的监控模板,然后通过为主机绑定监控模板,采集主机监控数据。 CES 指标接入 支持将 云监控服务 CES采集的监控指标数据接入至AppStage运维中心,如需将CES生成的告警接入AppStage运维中心,可参考CES告警接入操作。 运维监控 指标开发 对已产生或接入的数据进行指标开发 监控报表开发 对已创建的指标或视图数据进行业务报表开发。配置后可以查看业务报表监控,具体操作请参见查看业务报表。 告警配置 支持对虚拟机监控数据或业务数据配置告警,及时掌握虚拟机状态,容器接入并安装监控插件后会自动生成告警。告警配置后可以查看告警,并及时处理告警问题,具体操作请参见查看告警。
  • 背景信息 应用平台以“应用”为中心,基于云原生技术,打造了覆盖应用开发、托管、运维全生命周期支持的应用平台,面向企业IT应用、移动应用等提供一站式、集成式的云原生应用服务能力,支持开箱即用,全流程规范可视,高效异地协作,是沉淀行业通用能力,结合华为优秀实践,为产业上云及行业SaaS构建的竞争力底座。 开发应用主要使用AppStage的开发中心,其深度集成CodeArts的功能,购买AppStage后需开通CodeArts后才能使用开发中心,请在AppStage购买页面根据页面提示,前往开通CodeArts地址进行开通。
  • 管理关键风险 在“测试评估”页面选择“关键风险”页签,然后单击“新增”。 在“新增关键风险”页面,如图3所示,参数说明请参见表3。 图3 新增关键风险 表3 关键风险参数说明 参数名 参数说明 风险描述 风险问题的描述。 级别 区分三个级别:低、中、高 影响分析 风险问题的相关影响分析。 规避措施和计划 规避该风险问题的相关措施和计划。 单击“确定”。新增的关键风险显示在风险列表中。 (可选)在风险列表“操作”列单击“编辑”,在“编辑关键风险”页面可编辑风险问题的相关信息,参数说明可参见表3。 (可选)在风险列表“操作”列单击“删除”,在“删除风险”对话框确认删除的风险问题并单击“确定”,即可删除相应的风险问题。
  • 管理单项测试结论 在“测试评估”页面选择“测试结论”页签,系统预置了四个测试类型:遗留DI值、功能评估、性能评估和安全评估。 单击“新增”,在“新增测试结论”页面,设置测试结论相关参数,如图2所示,参数说明请参见表2,设置完成后单击“确定”。 图2 编辑测试结论 表2 测试结论参数说明 参数名 参数说明 测试类型 输入测试类型。 测试结论 根据实际情况可设置为:通过、不通过或不涉及。 评估说明(可选) 测试评估的相关说明。 附件(可选) 单击“添加文件”,最多可上传一个附件文件辅助测试评估的说明,且只能上传ZIP、RAR、DOCX、DOC、XLS、XLSX格式文件,文件不能超过50MB。 说明: 用户需对自己上传文件的安全风险负责,开发中心不对用户自己上传的文件做任何处理。 添加文件后,如需变更文件,可光标移至文件,在文件右侧单击,将旧文件删除后,再单击“添加文件”重新上传新文件。 (可选)在测试结论列表操作列单击“编辑”,在“编辑测试结论”页面可编辑测试评估的相关信息,参数说明可参见表2。 (可选)在测试结论列表操作列单击“删除”,在“删除测试结论”对话框单击“确定”,可删除不需要的测试类型及其结论。 系统预置的四个测试类型(遗留DI值、功能评估、性能评估、安全评估)不可删除。
  • 配置服务扩展信息 如果当前服务已关联项目,在“服务配置”页面的“服务扩展信息”区域,可查看关联项目名称、关联项目类型。 如果当前服务未关联项目,需将服务关联项目,后续才可正常使用CodeArts服务的相关功能,具体操作如下: 在“服务配置”页面,单击“关联项目”。 在“关联项目”对话框中的“项目名称”下,输入项目名称(默认为当前服务名称,可自定义修改)。根据实际业务需要在“项目类型”下拉框选择项目类型(Scrum、IPD-系统设备类、IPD-独立软件类)。单击“确定”。 Scrum:增量迭代式的软件开发方法,通过最重要的迭代计划会议、每日站会、迭代回顾、验收会议来进行简单高效的管理。 IPD-系统设备类:面向系统设备类产品开发场景的IPD需求管理方法,通过结构化流程、强大的跨项目协作能力来对大型产品开发进行高质高效的管理。 IPD-独立软件类:面向独立软件类开发场景的IPD需求管理方法,通过结构化流程、强大的跨项目协作能力来对大型软件开发进行高质高效的管理。 IPD-自运营软件/云服务类:面向云服务软件类开发场景的IPD需求管理方法,通过端到端客户价值需求管理、灵活轻便的敏捷规划、强大的跨项目协作能力来对云服务软件进行高质高效的管理。 在“关联项目”对话框对将要关联的项目名称进行二次确认,单击“确定”。 关联项目成功后不可解除关联。 关联项目成功:在“服务配置”页面的“服务扩展信息”区域,可查看关联项目名称、关联项目类型。 关联项目失败:系统检测到您尚未进行凭证(AK/SK)授权时,将弹框提示关联失败,并提示您前往AppStage管理控制台进行凭证授权,完成凭证(AK/SK)授权后,返回“服务配置”页面,重新关联项目。
  • 通过控制台申请资源 AppStage支持使用控制台完成资源申请,或者在华为云申请资源,然后接入至AppStage运维中心。 申请虚拟机:需要在华为云购买E CS 虚拟机,然后将主机接入AppStage运维中心。 申请CCE集群:需要在华为云购买CCE集群,然后将容器集群接入AppStage运维中心。 申请数据库:需要在华为云购买数据库,然后将数据库接入AppStage运维中心,当前只支持RDS(for MySQL)、GeminiDB Cassandra、 GaussDB (for openGauss)/GaussDB(for MySQL)接入AppStage运维中心。
  • 更多操作 创建版本完成后,您还可以执行如下表2所示的操作。 表2 更多操作 操作 说明 编辑版本 说明: 可编辑未发布的版本,不可编辑已发布的版本。 在“版本管理”页面的版本列表中,单击“操作”列的“编辑”。 在“编辑版本”页面,可编辑版本描述、版本类型、产能、版本开始时间和版本发布时间。 单击“提交”。 删除版本 说明: 可删除未发布的版本,不可删除已发布的版本。 删除版本后其名下全部内容将同步被清空,此操作无法恢复,请谨慎操作。 在“版本管理”页面的版本列表中,单击“操作”列的“删除”。 在“删除版本”对话框,根据界面提示在文本框输入“确定删除”,并勾选“我已知悉,强制删除”。 单击“确定”。
  • 配置流水线(以添加代码检查任务为例) 在流水线的“任务编排”页面,单击或者。 单击,在“编辑阶段”页面,修改“阶段名称”为“代码检查”,并将“总是运行”设置为“否”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 在流水线的“代码检查”阶段,单击“新建任务”。 在“新建任务”页面的右侧区域,选择“代码检查”页签,搜索“CodeArtsCheck代码检查”并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。 在“任务配置”页面右侧区域“请选择需要调用的任务”处单击“点击创建”。 在“新建任务”页面,参照表2配置参数信息(此处以创建Repo源码源检查任务为例)。 表2 参数说明 参数项 描述 归属项目 任务所属项目。默认填写,无需设置。 代码源 选择Repo,从代码托管拉取代码进行检查。 任务名称 代码检查任务名称,可自定义。 仓库 选择需要检查的代码仓库。 分支 填写需要检查的仓库分支名称。 检查语言 选择需要检查的代码语言。 单击“新建任务”,进入“代码检查详情”页面,单击“开始检查”,即可执行代码检查任务。执行完代码检查任务后,还可以根据需要查看检查结果。 返回5的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择7配置完成的代码检查任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。 单击“确定”,添加代码检查任务完成。 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
  • 配置流水线(以添加业务包构建任务为例) 在流水线的“任务编排”页面,单击或者。 单击,在“编辑阶段”页面,修改“阶段名称”为“构建阶段”,并将“总是运行”设置为“是”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 在流水线的“构建阶段”,单击“新建任务”。 在“新建任务”页面的右侧区域,选择“构建”页签,搜索“Build构建”并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。 在“任务配置”页面右侧区域“请选择需要调用的任务”处单击“点击创建”,如图2所示。 图2 Build构建任务配置 在“新建构建任务”页面的“基本信息”页面,自定义任务名称(以“adadss-build”为例),归属项目默认为当前服务,源码源选择“Repo”,选择对应的代码仓库(以创建好的“adadss”仓库为例)以及分支“master”,单击“下一步”。 在“构建模板”页面,选择“空白构建模板”模板,然后单击“下一步”,进入“构建步骤”的“图形化”页签,该页面的“构建环境配置”和“代码下线配置”无需配置,保持默认配置即可。 配置构建步骤“Maven构建”。 返回“构建步骤”页签,单击“点击添加构建步骤”,在右侧“添加步骤”页面搜索“Maven构建”,鼠标移至插件卡片并单击“添加”。 执行maven构建命令将业务代码打包,不同项目有所不同。 参考示例:mvn -Dassembly clean compile package -Dmaven.test.skip=true -U -T4 若某些jar包依赖不到,可将仓库地址添加在setting配置的公有依赖仓库。 配置镜像构建。 登录华为云容器镜像服务控制台,在左侧导航栏选择“我的镜像”,单击右上角“页面上传”,在“页面上传”对话框,创建组织(必须使用华为云账号),单击“选择镜像文件”,选择已经准备好的基础镜像tar包,单击“开始上传”,待任务进度显示“上传完成”,表示镜像文件上传成功。 基础镜像tar包仅需上传一次,后续可直接从镜像文件列表中选取。 在镜像仓库找到9.a上传的基础镜像,参照图3复制镜像地址。 图3 复制镜像地址 将9.b复制的镜像地址粘贴到Dockerfile文件中第一行FROM命令后,如图4所示。 图4 将镜像地址粘贴到Dockerfile文件中 返回华为云容器镜像服务控制台镜像列表中单击镜像tar包名称,进入镜像详情页面,选择“Pull/Push指南”页签,单击“操作步骤”中的“生成登录指令”。 在“登录指令”对话框中的“临时登录指令”框的指令末尾处单击,复制临时登录指令,如图5所示。 图5 复制临时登录指令 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“执行Docker命令”,鼠标移至该插件卡片并单击“添加”。 单击“执行Docker命令”步骤,在右侧“命令”参数下单击“添加”添加docker命令,在“命令”下拉框中选择“login”,参数框中输入“-u cn-north-7@K5X8GVN5B4H4B8KB9SDO -p 1dd00acee886bd05886cded19f5af1cb1e96326e4354fc0f3f493f12a3586518 swr.cn-north-7.myhuaweicloud.com”,登录环境以便Dockerfile文件中可正常获取基础镜像。 在“操作”列单击“+”继续添加docker命令,“命令”下拉框中选择“build”,参数框中输入“-t helloworldservice:23.11.02.1 -f ./deploy_docker/Dockerfile .”,指定代码仓中的Dockerfile文件,构建镜像。 工作目录一般为根目录。 在“操作”列单击“+”继续添加docker命令,“命令”下拉框中选择“save”,参数框中输入“-o helloworldservice.23.11.02.1.tar helloworldservice:23.11.02.1”,将镜像包保存为tar包。至此,添加docker命令完成,如图6所示。 图6 执行docker命令 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“Maven构建”,鼠标移至插件卡片并单击“添加”。执行zip命令,将tar包与业务代码中的package.json文件直接压缩成一个zip包。 参考命令:zip helloworldservice_23.11.02.1.zip helloworldservice.23.11.02.1.tar package.json 继续单击“添加步骤”,添加“上传文件到OBS”插件,在“上传文件到OBS”页面,参照表3配置相关参数。 表3 “上传文件到OBS”(业务包)步骤配置的参数说明 参数名称 参数说明 步骤显示名称 构建步骤的名称,默认为“上传文件到OBS”,保持默认或自定义修改均可。 授权用户 在下拉列表选择: 当前用户:上传到当前租户的OBS桶。 其他用户:可以通过选择IAM账号的方式上传到指定租户的OBS桶。 IAM账号 “授权用户”选择“其他用户”时需配置此参数,配置步骤如下: 单击“管理IAM账号”,进入“服务扩展点管理”页面。 单击“新建服务扩展点”,选择“IAM账户”,弹出“新建服务扩展点”对话框,填写以下参数,补充租户下用户的AK、SK即可: 连接名称:服务扩展点的名称。例如“obs权限”。 Access Key Id:访问密钥ID(AK),获取访问密钥AK/SK。 Secret Access Key:秘密访问密钥(SK),获取访问密钥AK/SK。 信息填写完成,单击“确定”。 构建产物路径 路径为10的zip包的相对路径或输入*模糊匹配(如“./DemoServiceB/*.zip”) 桶名 用户自定义构建结果上传到的目标OBS桶名。 OBS存储目录 用户自定义构建结果在OBS上的存储目录 OBS存储文件名 非必填项,构建结果在OBS上的存储文件名(不包含目录),留空时可上传多个文件,取构建产物文件名为OBS存储文件名;不为空时只能上传单个文件,如 application.jar。 是否上传文件夹 非必填项,可选择是否开启上传文件夹。 OBS头域 非必填项,上传文件时加入一个或多个自定义的响应头,当用户下载此对象或查询此对象元数据时,加入的自定义响应头会在返回消息的头域中出现。如:“键”填写成“x-frame-options”,“值”填写成“false”,即可禁止OBS中存放的网页被第三方网页嵌入。 单击右上角“新建”,配置构建任务完成。 返回5的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择12配置完成的构建任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。 单击“确定”,添加业务包构建任务完成。 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
  • IaC目录规划 IaC脚本开发规范请参考应用平台IaC部署代码开发,本实践中,IaC包结构规划如下: 表1 IaC Spec包结构说明 位置 描述 iacspec IaC压缩包 └── global/ 全局默认的IaC描述,包含完整文件结构。 │ └── meta.yaml 变更策略描述 └── specs/ 环境特定的IaC描述,结构与global相同,但仅包含与global有差异的文件。 │ └── cn_green_cbu_default/ 研发联调环境,命名采用站点级Cloud Map的名称,可以在环境管理界面查看可选的站点级Cloud Map名称列表。 │ └── DemoOrgidLogin/ 微服务DemoOrgidLogin。 │ └── config/ DemoOrgidLogin的配置目录。 │ └── aiops_sidecar_param.json 接入AIOps服务的配置文件。 │ └── config_records.yaml DemoOrgidLogin的业务配置项。 │ └── config_schema.yaml 声明DemoOrgidLogin的业务配置项属性,敏感业务配置项需要声明,非敏感配置项可以不声明。 │ └── envs.yaml 用于配置和管理DemoOrgidLogin的环境变量。 │ └── hosts.yaml 配置主机 域名 映射。 │ └── resources.yaml DemoOrgidLogin的资源列表。 │ └── values.yaml 定义DemoOrgidLogin的资源列表中使用的变量。 │ └── DemoServiceAService/ 微服务DemoServiceAService │ └── config/ ServiceA的配置目录。 │ └── aiops_sidecar_param.json 接入AIOps服务的配置文件。 │ └── config_records.yaml ServiceA的业务配置项。 │ └── config_schema.yaml 声明ServiceA的业务配置项属性,敏感业务配置项需要声明,非敏感配置项可以不声明。 │ └── envs.yaml 用于配置和管理ServiceA的环境变量。 │ └── hosts.yaml 配置主机域名映射。 │ └── resources.yaml ServiceA的资源列表。 │ └── values.yaml 定义ServiceA的资源列表中使用的变量。 │ └── DemoServiceBService/ 微服务DemoServiceBService。 │ └── config/ ServiceB的配置目录。 │ └── aiops_sidecar_param.json 接入AIOps服务的配置文件。 │ └── config_records.yaml ServiceB的业务配置项。 │ └── config_schema.yaml 声明ServiceB的业务配置项属性,敏感业务配置项需要声明,非敏感配置项可以不声明。 │ └── envs.yaml 用于配置和管理ServiceB的环境变量。 │ └── hosts.yaml 配置主机域名映射。 │ └── resources.yaml ServiceB的资源列表。 │ └── values.yaml 定义ServiceB的资源列表中使用的变量。 └── package.json 包描述文件。