华为云用户手册

  • 步骤5:登录并使用 打开KooPhone移动客户端。 首次登录时,您需要同意《隐私政策》、《用户协议》及《第三方SDK采集个人数据清单》才可继续使用云手机。 输入账号、密码并获取验证码验证身份登录。 首次登录会询问您是否信任此浏览器?建议选择信任,当您下次登录时,系统将不再要求提供验证码。 单击“进入云机”。 执行结果 登录成功后,您将进入通用云手机桌面。 后续操作 单击桌面云手机悬浮图标,可查看云手机的网络信号,还可执行“重启云机”、“退出云机”、设置“导航按键”等操作。 您可正常使用云手机功能,如下载应用、打电话、发短信、拍照。
  • 步骤2:创建组织和用户 首次购买云手机后,管理员需创建组织。创建完成后,该华为账号会自动成为组织创建者,即租户管理员,拥有该组织的所有管理权限。在“组织和用户管理”页面左上方可选择不同的组织。一个账号最多可以创建五个组织。 前提条件 已通过管理控制台购买云手机实例。 操作步骤 登录KooPhone管理控制台,进入KooPhone云手机页面。 单击左侧导航栏“组织和用户管理”。 单击“创建组织”。根据页面提示完成创建组织并配置用户成员。具体操作请参考:创建组织、部门管理和成员管理。
  • 处理方法 方法一:(推荐) 访问服务首页。 参考自定义settings.xml文件,将修改后的settings.xml文件上传至代码仓根目录。 在构建任务列表页,单击对应的构建任务名称。 单击“编辑”按钮,在“Maven构建”步骤的命令窗口中,--settings settings.xml,即可使用已添加的“settings.xml”文件执行Maven构建。 方法二: 访问服务首页。 在构建任务列表页,单击对应的构建任务名称。 单击“编辑”按钮,在“Maven构建”步骤前,添加“下载文件管理的文件”步骤。 单击“上传”,上传自定义的“settings.xml”文件,其他参数保持默认即可。自定义settings.xml文件的方法可参考自定义settings.xml文件。 在“Maven构建”的命令窗口中,--settings settings.xml,即可使用已添加的“settings.xml”文件执行Maven构建。
  • COPY或者ADD指令找不到文件 问题现象 构建任务中有“制作镜像并推送SWR”或“执行Docker命令”构建步骤,执行任务时日志报如下异常信息: ADD failed: stat /var/lib/docker/tmp/docker-builder154037010/temp: no such file or directory [ERROR][制作镜像并推送到SWR仓库]:错误信息:DEV.CB.0210043,制作Docker镜像失败。 COPY failed: stat /var/lib/docker/tmp/docker-builder076130522/test.txt: no such file or directory 原因分析 ADD指令的源文件为“./temp”,而当前工作目录下没有temp文件。 处理方法 假设当前目录的结构如下: + target - temp - Dockerfile target目录下有temp文件,而Dockerfile文件和target同级。 方法一:将ADD指令的源文件改为“./target/temp”。 方法二:target目录作为工作目录,将“制作镜像并推送到SWR仓库”构建步骤的工作目录改为“target”,Dockerfile路径改为“../Dockerfile”。
  • 执行命令失败 问题现象 使用Dockerfile制作镜像时,在执行docker build阶段报如下错: exec user process caused "exec format error" 原因分析 此问题出现的原因一般有两个: 制作镜像的基础镜像和执行机不匹配,如:镜像为arm的,但是执行机是x86的。 Dockerfile文件内容从其他地方复制过来时出现问题。 处理方法 先确认镜像和执行机是否匹配,如果镜像是x86的镜像,就只能用x86的执行机。 重新执行构建,查看是否成功,如果不成功,手动输入Dockerfile后再重新执行。
  • 制作镜像时拉取基础镜像失败 使用Dockerfile制作镜像时,如果指定的基础镜像参数有误,会导致镜像拉取失败,主包括以下两个场景: 指定的镜像不存在或无权限 错误日志 pull access denied for java1, repository does not exist or may require 'docker login' 分析处理 镜像仓库中找不到指定的镜像或当前用户对该镜像没有pull权限时,会出现该错误。 此例的Dockerfile中,FROM java1:8ull-jdk-alpine命令指定的镜像“java1”无法在镜像仓库中找到,故出现此错误,请核对并修正镜像名后重试即可。 指定的镜像标签不存在 错误日志 manifest for java:8ull-jdk-alpine not found 分析处理 镜像仓库中存在指定镜像,但不存在镜像的对应版本/标签时会出现“manifest not found”错误。此例的Dockerfile中,FROM java:8ull-jdk-alpine命令指定了镜像“java:8ull-jdk-alpine”,镜像仓库中存在“java”镜像,但没有对应的版本/标签“8ull-jdk-alpine”,故出现此错误,请核对并修正镜像版本后重试即可。
  • 推送镜像提示认证失败 错误日志 Error response from daemon: Get https://swr.example.example.com/v2/: denied: Authenticate Error [ERROR] : [pluginFrame] step run failed, errorMessage: fail to execute docker command. 分析处理 此类错误一般为SWR登录命令中账号/密码填写错误或临时登录账号信息已过期导致,获取有效登录指令重试即可。
  • 推送镜像提示未登录 错误日志 denied: You may not login yet [ERROR] : [pluginFrame] step run failed, errorMessage: fail to execute docker command 分析处理 此类错误发生的原因一般有如下两种: push操作前未使用“docker login”命令登录,此时添加对应登录命令即可。 执行了登录命令,但是登录命令中SWR地址错误,导致执行没报错但实际登录未生效,需要核对登录命令是否正确。
  • 推送镜像提示组织数达到上限 错误日志 denied: The number of namespaces exceeds the upper limit [ERROR] : [pluginFrame] step run failed, errorMessage: DEV.CB.0210044, Docker push failed 分析处理 推送镜像时,如果使用未被任何用户占用的全新组织名,SWR服务会尝试为当前租户创建该组织;由于SWR服务限制了每个租户可创建的组织数,如果超过此限制,则会出现该错误。 出现此错误时,使用管理员账号(或任何有SWR组织管理权限的账号)前往组织管理并切换至对应region,查看已有的组织列表,选择使用已有组织或删除无用组织即可。
  • 推送镜像提示组织名非法 错误日志 invalid reference format [ERROR] : [pluginFrame] step run failed, errorMessage: fail to execute docker command. 分析处理 SWR服务对“组织”命名有相应格式要求,推送镜像时,如果使用的组织名不满足其格式要求,则会出现此错误。 出现此错误时,请前往组织管理并切换至对应region,核对填写的组织名是否正确;如果属于新建组织,请尝试按规范手动创建组织后再试。
  • 推送镜像提示本地镜像不存在 错误日志 [2022-03-05 17:01:05.816] An image does not exist locally with the tag: swr.example.example.com/demo/faqdemo1 [ERROR] : [pluginFrame] step run failed, errorMessage: fail to execute docker command. 分析处理 此类错误一般为镜像制作失败或push命令中镜像名、标签等信息填写错误,导致push命令中期望的镜像与build/tag命令中实际生成的镜像不一致,需要检查镜像制作过程或push参数是否正确。 此例中镜像docker push swr.example.example.com/demo/faqdemo1:v1.1 中faqdemo1填写错误,build参数中指定的镜像名为faqdemo,修正push参数后再试即可。
  • 推送镜像提示无权限 错误日志 上传镜像到SWR仓库,提示如下错误: denied: you do not have the permission [ERROR] : [pluginFrame] step run failed, errorMessage: DEV.CB.0210044, Docker push failed 分析处理 此错误表示当前用户对目标组织没有权限,请逐步排查以下可能的原因: 编辑构建任务,单击“制作镜像并推送到SWR仓库”构建步骤,查看组织名。 登录 容器镜像服务 ,在组织管理里查看组织是否存在。 组织不存在,创建组织即可(组织数不可超过上限)。 组织存在,但当前用户对该组织没有编辑权限,推送镜像时仍然会出现此错误,管理员可参考授权管理选择性为当前用户授权。 组织存在,且用户对该组织有编辑权限,那么请进入 统一身份认证 服务,检查该用户是不是在只读权限的用户组里,如果是,请移除该用户。
  • 问题现象 异常信息如下: 1 2 3 4 5 6 7 8 9 [2019-07-02 08:29:23.179] ERROR: Command "git submodule update --init --recursive --remote asae-feign" returned status code 1: [2019-07-02 08:29:23.179] stdout: Cloning into 'asae-feign'... [2019-07-02 08:29:23.179] [2019-07-02 08:29:23.179] Error: ERROR: Needed a single revision [2019-07-02 08:29:23.179] Unable to find current origin/develop revision in submodule path 'asae-feign' [2019-07-02 08:29:23.179] [2019-07-02 08:29:23.202] [INTERNAL] : [pluginFrame] step run failed, errorMessage: Could not perform submodule update [2019-07-02 08:29:23.250] [INFO] [代码检出] : StagePostExecution started [2019-07-02 08:29:23.251] [INFO] [代码检出] : StagePostExecution finished
  • 处理方法 在Android构建过程中推荐使用“Android APK签名”构建步骤完成APK签名,编译构建提供了Android APK签名构建步骤,配置方法如下: 在“Android构建”步骤后添加“Android APK签名”步骤。 参数说明如下: 参数 说明 需要签名的APK路径 Android构建后生成要签名的.apk文件位置,支持正则表达式,如:可以使用build/bin/*.apk匹配构建出来的APK包。 Keystore文件 用于签名的Keystore文件,单击下拉列表,展示文件管理中已经上传的Keystore文件,请根据需要选择。 keystore password 密钥文件密码。 别名(Alias) 密钥别名。 key password 密钥密码。 apksigner命令行 用户自定义签名参数,默认“--verbose”显示签名详细。 验证签名是否成功。 配置完成后执行构建任务,当显示任务执行成功后,查看构建日志,若“Android APK签名”那段日志中显示“result: Signed”即为签名成功。
  • 原因分析 找不到需要的文件。 上图中6068行的错误日志,“Module not found: Error: Can't resolve './App.Vue' in '/xxx/slave1/workspace/job_d5d70df6-9b64-4faa-ba67-93c06d4a1972_1545727944134/src'”,在“src”文件夹下找不到“./App.Vue”文件。可能原因如下: 对应文件夹下,没有所需文件。 文件路径大小写配置有误。图中代码配置的是“'./App.Vue'”,实际文件名是“'./App.vue'”,导致找不到所需文件。因为Windows系统不区分大小写,而Linux系统区分,所以可能本地能构建成功,在编译构建服务上却构建失败。
  • 处理方法 方法一:升级nodejs版本。 方法二:启动Node时设置“--max_old_space_size”或“--max_new_space_size”参数来调整内存大小的使用限制。 node --max_old_space_size=1700 test.js // 单位为MB 修改老生代内存限制 node --max_new_space_size=1024 test.js // 单位为KB 修改新生代内存限制 针对前端三大框架的解决方法如下: 框架类型 解决方法 Vue 只需要修改“package.json”文件中“build”属性值,在命令中加入带参数的node命令即可,例如: "build": "node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build" 或 "build": "node --max_old_space_size=4096 ./node_modules/@vue/cli-service/bin/vue-cli-service.js build" React 举例说明“package.json”里面“scripts”字段的内容如下: "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" } 运行npm run build的时候跑的实际代码是react-scripts build,项目根目录下“node_modules”文件夹,找到.bin目录并打开它找到“react-scripts”文件,打开这个文件,把--max_old_space_size=4096这行代码写在#!/usr/bin/env node后面: #!/usr/bin/env node --max_old_space_size=4096 Angular 举例说明“package.json”里面“scripts”字段的内容如下: "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" } 这里的ng命令也和React一样,在项目根目录“node_modules”文件夹下的.bin目录里面存在名为ng的文件,修改该文件的首行: #!/usr/bin/env node --max_old_space_size=4096
  • 处理方法 修改文件路径长度至系统要求大小即可。 项目文件全路径长度实际为项目下文件相对路径长度与编译构建服务默认路径长度之和。 编译构建服务默认路径长度为45字符。 因此,在使用Msbuild构建的过程中,您的项目文件路径需满足:项目下文件相对路径(以代码仓库为根目录)长度不可大于215字符。 一些特殊场景(如构建时指定输出目录为“Output/release”)下,可能会额外占用路径长度。 建议您的项目下文件相对路径(以代码仓库为根目录)长度保持在200个字符以下,原则上尽可能短最好。
  • 处理方法 下载对应版本的SDK(例:2.0.0,其他版本请直接替换命令中的2.0.0)。 powershell -Command Invoke-WebRequest -UseBasicParsing https://dotnetcli.blob.core.windows.net/dotnet/Sdk/2.0.0/dotnet-sdk-2.0.0-win-x64.zip -OutFile dotnet2.0.0.zip; 解压到当前路径下。 powershell -Command Expand-Archive dotnet2.0.0.zip; 复制sdk目录到“${Env:ProgramFiles}\dotnet\sdk”下。 powershell -Command Copy-Item -Recurse dotnet2.0.0\sdk\2.0.0 ${Env:ProgramFiles}\dotnet\sdk ;
  • 问题现象 构建告警: warning MSB3245: 未能解析此引用。 未能找到程序集“Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。
  • 原因分析 由提示信息可知,解决方案中引入了程序集“Microsoft.Office.Interop.Word”,但构建时环境中不具备此程序集,导致编译告警,如果项目代码中使用了此引用,甚至会直接导致失败。 通常情况下,此类程序集默认安装于本地系统,无需指定程序集位置,VS构建时会从默认配置的几个程序集路径查找,可以构建成功;而云端构建环境对应目录无此程序集,进而导致本地与云端构建不一致。 为解决此类场景,Msbuild集成了NuGet,可以在构建时从远程仓库下载对应程序集,此时只需于项目中指定“packages.config”,并于其中声明依赖的程序集即可。 特殊情况下,项目引用的程序集可能无法在远程仓库找到,此时需要手工保存程序集至代码仓库中,并显示指定程序集路径。
  • Gradle Wrapper使用教程 在本地环境中,进入代码根目录,执行gradle wrapper命令。命令执行完毕后,可以发现代码仓库中新增了以下文件: gradlew (Unix Shell 脚本) gradlew.bat (Windows批处理文件) gradle/wrapper/gradle-wrapper.jar (Wrapper JAR文件) gradle/wrapper/gradle-wrapper.properties (Wrapper属性文件) 提交代码到代码仓库。 修改构建任务中命令行里的语句,将gradle替换成./gradlew,如将gradle build替换为./gradlew build。
  • 处理方法 网络异常导致,可以通过以下方法处理: 重试确认是否能解决,如果拉取失败的镜像是dockerHub镜像且重试无法解决,可参考拉取dockerHub镜像超时或失败。 如频繁出现或重试仍然失败请联系客服。 镜像不存在:请确保镜像已经上传至镜像仓,且镜像名称、镜像版本正确。 镜像为私有镜像:请将镜像设置为公开,或者先执行 docker login 鉴权通过后再执行 docker pull 操作。
  • 处理方法 避免javadoc的检查,在项目根目录下的Gradle下面就要添加如下配置: allprojects { repositories { jcenter() } tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('encoding', 'UTF-8') } }
  • 处理方法 可以在命令行中的gradle命令后加上-xlint参数,跳过lint检查。如: /bin/bash ./gradlew assembleDebug -Dorg.gradle.daemon=false -d --stacktrace -xlint 或 gradle assembleDebug -Dorg.gradle.daemon=false -d --stacktrace --init-script /root/.gradle/init.gradle -xlint
  • 问题现象 执行过构建任务日志报错信息如下: Caused by: org.gradle.internal.resource.transport.http.HttpErrorStatusCodeException: Could not GET 'https://jcenter.bintray.com/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.pom'. Received status code 504 from server: Gateway Time-out
  • 依赖范围错误 使用Maven管理依赖时,Maven坐标中scope属性定义了依赖的有效范围。错误地指定依赖范围会导致该依赖在compile时无效,如果此时在项目主代码中使用了此依赖中的包,则会导致编译错误。处理步骤: 使用mvn dependency:tree查看项目使用的依赖及依赖范围。 对比依赖范围以及项目中使用依赖的位置。 若在主代码中使用了依赖中的包,且要求依赖在编译时有效,则依赖的范围需要为以下之一: compile provided system:系统依赖范围必须通过systemPath指定依赖文件位置,且依赖文件必须存在于指定目录。
  • 原因分析 分析日志可知,项目中引用了“com.sun.jersey.api.client.config”包下面的内容,但构建时无法从项目中以及所有解析出的依赖包中找到此包导致。导致此结果的原因一般有两大类: 代码问题:代码中包引用不正确,此类问题较易排查,如有遇到可优先排查代码。 环境/组件问题:依赖包损坏或不一致,此类问题常表现为本地可编译而云端构建失败;此章节主要为此类问题提供一些可能的解决方案。其中可能的环境/组件问题有: 依赖包冲突 依赖范围错误 使用GAV模式上传依赖包 依赖包损坏 其他
  • 依赖包损坏 依赖包损坏可能会导致依赖包中某些文件缺失,此时构建可以找到相应依赖包,但无法找到其中的class文件或者package,导致此类问题。此场景下可按包类型分不同方式处理: 第三方依赖包:直接联系技术支持处理。 自研(手动上传到Maven私有仓库)的依赖包,按如下步骤排查: 从Maven私有依赖仓库下载依赖包。 解压缩并查看依赖包内容是否正常。 若依赖包内容异常,再分两种情况排查: 如果是第三方提供的包手动上传到maven私有依赖仓库,确认包文件无误并尝试重新上传(注意同时上传pom与jar文件)。 如果是自己构建(本地/云端构建)的依赖包,且已确认代码无误,则检查是否是多任务同时构建导致构建生成jar包内容缺失。
  • 问题现象 异常信息如下: 1 [ERROR] The goal you specified requires a project to execute but there is no POM in this directory (/xxx/slavespace/slave3/workspace/job_4a1d5be4-b273-4ac8-8d5d-2ee583e71832_1544498089095). Please verify you invoked Maven from the correct directory.
  • 处理方法 配置“Maven构建”构建步骤,展开“发布依赖包到CodeArts私有依赖库”,选择“配置所有pom”。 不配置pom:表示无需发布私有依赖包到CodeArts私有依赖库。 配置所有pom:表示在项目下所有“pom.xml”文件增加deploy配置,使用mvn deploy命令将构建出的依赖包上传到私有依赖仓库。 在命令窗口,使用“#”注释掉第8行的默认命令,并删除第18行命令前的“#”。 配置完成后执行构建任务。执行成功后即可将依赖包发布到私有依赖库。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全