华为云用户手册

  • 执行build命令 准备工作 制作Docker镜像需上传制作好的“Dockerfile”文件,通过“选择部署来源”步骤放置在部署目标主机中。 Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile从FROM命令开始,紧接着跟随着各种方法,命令和参数。 Dockerfile制作请参考Docker官网。 配置方法 搜索并添加“执行Docker命令”部署步骤。 选择“build”命令,输入部署目标主机中放置Dockerfile文件的路径,以及“docker build”命令的执行参数。
  • 安装Node.js 添加该应用步骤可以在主机上安装Node.js,信息配置如下所示。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 node.js版本 node.js的版本。 安装路径 node.js的安装路径。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。 父主题: 部署步骤详解
  • 安装GO语言 添加该应用步骤可以在主机上安装GO语言,信息配置如下所示。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 GO版本 GO的版本。 go安装路径 go的安装路径。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。 父主题: 部署步骤详解
  • 服务概述 部署(CodeArts Deploy)提供可视化、自动化部署服务。提供丰富的部署步骤,有助于您制定标准的部署流程,降低部署成本,提升发布效率。 部署服务具有以下特性: 支持主机部署(华为云E CS 、您的自有主机及第三方主机)、容器部署(华为云CCE集群、您的自建集群及第三方集群)。 功能插件化封装,使用门槛低,通用应用的部署开箱即用。 提供丰富的部署插件,满足Tomcat、SpringBoot、Django等常用技术栈的快速部署。 针对不同的部署流程,支持拖拉拽方式自由编排组装应用,支持自定义应用模板,通过模板一键创建应用。 如果您本地正在开发一个项目,想使用部署服务来进行部署操作,其使用流程如下。 所涉及到的操作或知识如下: 新建基础资源。 新建应用。 导入基础资源。 编辑应用。 部署应用。
  • 安装Nginx 添加该应用步骤可以在主机上安装Nginx,信息配置如下所示。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 nginx版本 nginx的版本。 nginx安装路径 nginx的安装路径。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。 父主题: 部署步骤详解
  • 在Windows主机新建IIS站点 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 应用程序池 IIS服务的应用程序池。 .Net CLR版本 .Net CLR的版本。 网站名称 网站的名称。 绑定端口 绑定 (监听) 的端口。 物理路径 应用程序对应的物理路径。 日志路径 IIS运行站点日志路径。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。
  • Helm3部署示例的环境准备 本节作为后续三个示例的环境准备,以环境准备中的chart目录为例,将使用如下模板,对CCE集群进行部署,在代码托管代码仓中,创建如下目录。 configmap.yml部分片段 metadata: name: {{ .Values.configmapname }} deployment.yml部分片段 spec: template: spec: containers: - image: '{{ .Values.imagename }}:{{ .Values.imagetag }}' values.yml部分片段 configmapname: valuesfromfileimagename: httpdimagetag: latest {{ .Values.xxxx }} 对应Chart内values.yaml定义的变量。 以下三个示例,是在本节基础上进行的。 参考:Values文件使用说明。 示例1:使用Chart包或Chart文件结构目录部署 如果Chart中已有缺省values文件,则不需要指定制品仓库values文件,可直接部署。 其部署结果为: 对应CCE生成的configMap为: 对应CCE生成的deployment为: 示例2:通过指定制品仓库中的Values文件部署 本示例将演示,指定制品仓库中的Values文件进行部署。 外部values文件中定义的值将会覆盖Chart中values文件定义值。 外部Values的片段,本示例命名为values123.yaml: configmapname: valuesfile-releasenmanimagename: nginximagetag: stable 如下图,在“选择Values文件”中,选择制品仓库中的Values文件: 其部署结果为: 对应CCE控制台的configMap为: 对应CCE控制台的deployment为: 示例3:通过设置Values值进行部署 当设置了Values的值,其优先级会是最高的,会覆盖Chart内values文件设置值以及外部values文件内的设置值。 下面将以设置镜像版本的操作为例: Chart内values文件片段: imagetag: latest 制品仓库values文件片段: imagetag: stable 在设置values,填入: imagetag=perl 其部署结果为: 对应CCE控制台的deployment为:
  • 启动/停止nodeJs服务 添加该部署步骤可以在主机上根据指定的nodeJs服务路径启动或者停止服务,信息配置如下所示。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 服务操作类型 配置启动服务或者停止服务。 服务对应的绝对路径 node.js 服务的路径。 命令行参数 选填。 node.js运行参数,即应用程序自己的参数。 当选择启动服务时,可以通过--参数方法, 设定node.js服务监听端口等。 控制选项 配置是否启用该操作。 当前步骤执行失败后,应用是否继续执行后续的步骤。 配置是否使用sudo权限执行该步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。 父主题: 部署步骤详解
  • 示例:通过shell命令步骤查看服务日志 应用部署完毕需要查看服务的启动或执行日志,可使用执行shell命令操作直接查看。 准备工作 您有查看服务启动或执行日志的权限。 需要确定服务启动日志的全路径。 以安装Tomcat服务为例: 服务启动日志的全路径:/usr/local/tomcat/apache-tomcat-8.5.38/logs/catalina.out 操作步骤 使用tail命令可查询服务的启动或执行日志。 在“执行shell命令”步骤详情中,执行以下命令可查询日志的最后20行,执行结果如下图所示。 tail -n 20 /usr/local/tomcat/apache-tomcat-8.5.38/logs/catalina.out 使用shell命令查看文件时尽量不要使用cat命令,如果日志文件过大可能会导致页面加载缓慢。禁止使用tail –f命令。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。
  • URL健康测试 该步骤通过访问目标主机部署应用的健康检查URL,用于检测服务是否正常启动,信息配置如下所示。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 重试次数 失败后重试次数,超过预设的重试次数,服务未启动会导致URL检测失败。 间隔时间 每次重试测试的间隔时间。 测试路径 健康测试URL,支持添加多个。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。 父主题: 部署步骤详解
  • 安装Tomcat 添加该步骤可以在主机上安装Tomcat,信息配置如下所示。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 tomcat版本 tomcat的版本号。 安装路径 tomcat的安装路径。 http端口 默认为8080。 ajp端口 默认为8009。 shutdown端口 默认为8005。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。 配置是否使用sudo权限部署该步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。 父主题: 部署步骤详解
  • 停止服务 该步骤通过指定端口停止目标主机中对应的应用,信息配置如下所示。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 服务的端口号 需要被停止的服务的端口号。 控制选项 配置是否启用该操作。 当前步骤执行失败后,应用是否继续执行后续的步骤。 配置是否使用sudo权限执行该步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。 父主题: 部署步骤详解
  • 删除文件 该步骤用于删除环境下目标主机中指定路径的文件/文件夹,信息配置如下所示。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 删除路径 待删除文件/文件夹的路径。 说明: 删除路径如果为文件,则删除具体的文件;如果为文件夹,则删除该文件夹及文件夹下所有文件。 控制选项 配置是否启用该操作。 当前步骤执行失败后,应用是否继续执行后续的步骤。 配置是否使用sudo权限执行该步骤。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。 父主题: 部署步骤详解
  • 启动/停止GO服务 该步骤可根据服务的指定路径进行启动、停止服务。 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 环境 目标环境。 服务操作类型 配置启动服务或者停止服务。 服务对应的绝对路径 GO服务的安装路径。 等待时间 等待服务启动的时间。当选择启动服务时,启动过程中会通过检测进程方式检测服务是否成功启动。可根据服务启动实际所需时间进行调整,如时间设置不合理,会导致检测结果无效。 控制选项 配置是否启用该操作。 当前步骤执行失败后,应用是否继续执行后续的步骤。 配置是否使用sudo权限执行该步骤。 父主题: 部署步骤详解
  • ServiceStage组件回滚 针对部署到ServiceStage上的实例快照进行历史版本回滚。 表1 参数说明 参数 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 选择区域 ServiceStage部署的区域(region)。 部署系统 支持云容器引擎、弹性云服务器、弹性伸缩组等多种部署系统。 应用名称 选择在ServiceStage中创建的应用。 组件名称 选择需要部署的组件。 环境名称 选择需要部署的环境。 组件实例 选择需要部署的组件实例。 实例快照 选择需要部署的版本快照。 控制选项 当前步骤部署失败后,应用是否继续部署后续的步骤。 回滚到某一版本后,该版本之后的实例均被覆盖清除。 父主题: 部署步骤详解
  • 入门须知 部署(CodeArts Deploy)提供可视化、自动化部署服务。提供丰富的部署步骤,有助于用户制定标准的部署流程,降低部署成本,提升发布效率。 部署服务具有以下特性: 支持主机(物理机、虚拟机)部署和容器部署。 预置Tomcat、SpringBoot、Django等系统模板快速创建应用,提供丰富的原子步骤,支持拖拉拽方式自由编排组装应用。 主机部署场景以环境为粒度,支持多台主机同时部署。 基于云容器引擎服务(CCE),实现容器部署。 基于应用管理与运维平台服务(ServiceStage),实现微服务应用部署。 支持保存自定义模板,通过模板一键创建应用。 支持参数化配置,提供文本、环境、枚举等参数类型,部署应用时支持参数的动态替换。 与流水线服务无缝集成,支持业务持续发布。 原子步骤独立输出执行日志,提供关键字精准匹配FAQ,部署失败能够快速定位原因并提供解决方案。 如果您本地正在开发一个项目,想使用部署服务来进行部署操作,其使用流程如下。 本节所涉及的操作如下: 新建基础资源。 新建应用 导入基础资源。 编辑应用 部署应用
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 domain_id 是 String 用户所属帐号ID。 xaccount_type 是 String 该字段为标识租户来源字段,默认为空。 metadata 是 String 该字段为用户IdP服务器的Metadata文件的内容。
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 id String Metadata的ID。 idp_id String 身份提供商名称。 entity_id String Metadata文件中的entityID字段。 protocol_id String 协议ID。 domain_id String 用户所属帐号ID。 xaccount_type String 帐号来源,默认为空。 update_time String 导入或更新Metadata文件的时间。 data String Metadata文件的内容。
  • 响应示例 状态码为 201 时: 请求成功。 { "protocol": { "mapping_id": "ACME", "id": "saml", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols/saml", "identity_provider": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME" } }}
  • 响应示例 状态码为 200 时: 请求成功。 { "domains": [ { "description": "", "enabled": true, "id": "d78cbac186b744899480f25bd022f468", "links": { "self": "https://iam.myhuaweicloud.com/v3/domains/d78cbac186b744899480f25bd022f468" }, "name": " IAM Domain" } ], "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/domains" }}
  • 响应参数 表2 响应Body参数 参数 参数类型 描述 domains Array of objects 帐号信息列表。 links Object 资源链接信息。 表3 domains 参数 参数类型 描述 enabled Boolean 是否启用帐号,true为启用,false为停用,默认为true。 id String 帐号ID。 name String 帐号名。 links Object 帐号的资源链接信息。 description String 帐号的描述信息。 表4 domains.links 参数 参数类型 描述 self String 资源链接地址。 表5 links 参数 参数类型 描述 self String 资源链接地址。
  • 响应示例 状态码为 300 时: 查询成功。(Multiple Choices) { "versions": { "values": [ { "media-types": [ { "type": "application/vnd.openstack.identity-v3+json", "base": "application/json" } ], "links": [ { "rel": "self", "href": "https://iam.myhuaweicloud.com/v3/" } ], "id": "v3.6", "updated": "2016-04-04T00:00:00Z", "status": "stable" } ] }}
  • 响应参数 表1 响应Body参数 参数 参数类型 描述 versions Object Keystone API的版本信息。 表2 versions 参数 参数类型 描述 values Array of objects Keystone API的版本信息列表。 表3 versions.values 参数 参数类型 描述 status String 版本状态。 updated String 最后更新时间。 links Array of objects 版本的资源链接信息 id String 版本号,如v3.6。 media-types Array of objects 支持的消息格式。 表4 versions.values.links 参数 参数类型 描述 rel String 链接类型。self:自助链接包含了版本链接的资源。bookmark:书签链接提供了一个永久资源的永久链接。alternate:备用链接包含了资源的替换表示形式。 href String 资源链接地址。 表5 versions.values.media-types 参数 参数类型 描述 type String 媒体类型。 base String 基础类型。
  • 响应参数 状态码为 201 时: 表3 响应Header参数 参数 参数类型 描述 X-Subject-Token String 签名后的Token。 表4 响应Body参数 参数 参数类型 描述 token object 获取的token详情。 表5 UnscopedTokenInfo 参数 参数类型 描述 expires_at String 过期时间。 methods Array of strings token获取方式,联邦认证默认为mapped。 issued_at String 生成时间。 user object 用户详情。 roles Array of objects 角色/策略详情。 catalog Array of objects catalog详情。 表6 FederationUserBody 参数 参数类型 描述 OS-FEDERATION object 联邦用户user详情。 domain object 租户详情。 id String 用户id。 name String 用户名。 表7 OSFederationInfo 参数 参数类型 描述 identity_provider object 身份提供商详情。 protocol object 协议详情。 groups Array of objects 用户组详情。 表8 IdpIdInfo 参数 参数类型 描述 id String 身份提供商id。 表9 ProtocolIdInfo 参数 参数类型 描述 id String 协议id。 表10 token.user.OS-FEDERATION.groups 参数 参数类型 描述 id String 用户组id。 name String 用户组名。 表11 DomainInfo 参数 参数类型 描述 id String 租户id。 name String 租户名。 表12 token.roles 参数 参数类型 描述 id String 权限id。 name String 权限名。 表13 token.catalog 参数 参数类型 描述 id String 终端节点ID。 interface String 接口类型,描述接口在该终端节点的可见性。值为“public”,表示该接口为公开接口。 region String 终端节点所属区域。 region_id String 终端节点所属区域ID。 url String 终端节点的URL。
  • 响应示例 状态码为 201 时: 创建成功。 { "token" : { "expires_at" : "2018-03-13T03:00:01.168000Z", "methods" : [ "mapped" ], "issued_at" : "2018-03-12T03:00:01.168000Z", "user" : { "OS-FEDERATION" : { "identity_provider" : { "id" : "idptest" }, "protocol" : { "id" : "oidc" }, "groups" : [ { "name" : "admin", "id" : "45a8c8f..." } ] }, "domain" : { "id" : "063bb260a480...", "name" : "IAMDomain" }, "name" : "FederationUser", "id" : "suvmgvUZc4PaCOEc..." } } } 状态码为 400 时: 参数无效。 { "error" : { "code" : 400, "message" : "Request parameter 'idp id' is invalid.", "title" : "Bad Request" } } 状态码为 401 时: 认证失败。 { "error" : { "code" : 401, "message" : "The request you have made requires authentication.", "title" : "Unauthorized" } } 状态码为 403 时: 没有操作权限。 { "error" : { "code" : 403, "message" : "You are not authorized to perform the requested action.", "title" : "Forbidden" } } 状态码为 404 时: 未找到相应资源。 { "error" : { "code" : 404, "message" : "Could not find %(target)s: %(target_id)s.", "title" : "Not Found" } } 状态码为 500 时: 系统内部异常。 { "error" : { "code" : 500, "message" : "An unexpected error prevented the server from fulfilling your request.", "title" : "Internal Server Error" } }
  • 响应示例 状态码为 200 时: 请求成功。 { "version": { "media-types": [ { "type": "application/vnd.openstack.identity-v3+json", "base": "application/json" } ], "links": [ { "rel": "self", "href": "https://iam.myhuaweicloud.com/v3/" } ], "id": "v3.6", "updated": "2016-04-04T00:00:00Z", "status": "stable" }}
  • 响应参数 表1 响应Body参数 参数 参数类型 描述 version Object Keystone API的3.0版本信息。 表2 version 参数 参数类型 描述 status String 版本状态。 updated String 最后更新时间。 links Array of objects 版本的资源链接信息。 id String 版本号,如v3.6。 media-types Array of objects 支持的消息格式。 表3 version.links 参数 参数类型 描述 rel String 链接类型。self:自助链接包含了版本链接的资源。bookmark:书签链接提供了一个永久资源的永久链接。alternate:备用链接包含了资源的替换表示形式。 href String 资源链接地址。 表4 version.media-types 参数 参数类型 描述 type String 媒体类型。 base String 基础类型。
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 service Object 服务信息。 表4 service 参数 参数类型 描述 name String 服务名。 description String 服务描述信息。 links Object 服务的资源链接。 id String 服务ID。 type String 服务类型。 enabled Boolean 服务是否可用。 表5 service.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址。 next String 后一邻接资源链接地址。
  • 响应示例 状态码为 200 时: 请求成功。 { "service": { "name": "iam", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/services/6cf6e23e00dd49beb13313b024aec598" }, "id": "6cf6e23e00dd49beb13313b024aec598", "type": "identity", "enabled": true }}
  • 请求示例 获取联邦认证scoped token。 POST https://iam.myhuaweicloud.com/v3/auth/tokens { "auth": { "identity": { "methods": [ "token" ], "token": { "id": "MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB..." } }, "scope": { "domain": { "id": "063bb260a480cecc0f36c0086bb6c..." } } }}
共100000条