云服务器内容精选

  • 图形化构建 配置构建步骤时,在“Android构建”步骤后添加“Android APK签名”步骤。 参数说明如下: 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 需要签名的APK路径 Android构建后生成要签名的.apk文件位置,支持正则表达式,如:可以使用build/bin/*.apk匹配构建出来的APK包。 Keystore文件 用于签名的Keystore文件,参考生成Keystore签名文件制作,单击下拉列表,展示文件管理页面已经上传的Keystore文件,请根据需要选择。 keystore password 密钥文件密码。 别名(Alias) 密钥别名。 key password 密钥密码。 apksigner命令行 用户自定义签名参数,默认“--verbose”显示签名详情。 验证签名是否成功。 配置完成后执行构建任务,当显示任务执行成功后,查看构建日志,若“Android APK签名”对应日志中显示“结果: Signed”即为签名成功。
  • 代码化构建 1 2 3 4 5 6 7 8 9 10 11 version: 2.0 # 必须是2.0 steps: BUILD: - android_sign: inputs: file_path: build/bin/*.apk keystore_file: androidapk.jks keystore_password: xxxxxx alias: keyalias key_password: xxxxxx apksigner_commond: --verbose 参数名 参数类型 描述 是否必填 默认值 file_path string 需要签名的APK路径。 是 无 keystore_file string Keystore文件名。 是 无 keystore_password string Keystore文件密码。 否 无 alias string 别名。 是 无 key_password string 密码。 否 无 apksigner_commond string apksigner命令。 是 无
  • Powershell命令使用 Powershell使用操作 如果在构建任务中使用powershell命令,在命令行窗口按如下格式输入命令即可: powershell –Command Powershell命令参数列表 常用Powershell命令 命令类型 说明 Compress-Archive(压缩命令) powershell –Command Compress-Archive -Path [SourcePath] -DestinationPath [Target.zip] SourcePath 指定需要压缩的文件或文件夹,支持通配符和相对路径。 Target.zip 输出的压缩文件名,可用于上传到软件发布库时填写文件名。 Expand-Archive(解压缩命令) powershell –Command Expand-Archive -Path [SourcePath] -DestinationPath [TargetPath] SourcePath 指定需要解压的文件,如“demo.zip”。 TargetPath 要解压到的目标路径,支持通配符和相对路径。 Copy-Item(复制命令) powershell –Command Copy-Item -Recurse -Path [SourcePath] -DestinationPath [TargetPath] SourcePath 指定需要复制的文件或文件夹,支持通配符和相对路径。 TargetPath 要复制到的目标路径,支持通配符和相对路径。 说明: -Recurse选项为循环复制子文件夹,但若在SourcePath中使用了通配符,此开关会失效,不会复制指定目录下的子文件夹。 文档只介绍了构建常用的Powershell命令,更多Powershell命令请参见微软官方文档。
  • 配置说明 在配置构建步骤中,添加“Msbuild构建”构建步骤。 参数说明如下: 参数项 说明 步骤显示名称 构建步骤的名称,可自定义修改。 工具版本 请根据需要选择Msbuild构建工具版本。 请选择相应的.NET版本。 msbuild15-all版本的工具提供更多的构建支持,如nant、nodejs的构建命令支持等。 powershell命令 配置Msbuild命令,一般使用系统默认给出的命令即可。 nuget restore命令会还原csharp项目依赖。 msbuild命令构建项目: OutputPath会指定生成路径,此路径设置会以csproject文件为相对路径。 项目存在多个csproject时可能会因此导致构建失败,删除路径指定参数后可构建成功。 .NET Core项目请尝试使用.NET相关命令构建。
  • Msbuild构建场景 已支持场景 场景类型 说明 无外部依赖 参考镜像版本及对应工具版本,对于仅使用了环境预装依赖库的项目,选择合适的镜像版本即可直接使用msbuild或.NET命令进行构建。 例如:项目使用了dotnetframework4.7.2的SDK和Office操作的相关官方依赖库(MSOffice)。可选用“msbuild15-dotnetframework4.7.2”版本镜像,使用msbuild命令构建。 使用Nuget进行依赖管理 对于使用了环境预装依赖库以外的项目,但使用了Nuget对所有依赖库进行管理的项目,选择合适的镜像版本后,可先使用nuget restore命令下载所有依赖,此后使用msbuild命令进行构建。.NET命令无需先执行nuget命令。 例如:项目使用了“dotnetframework4.7.2”的SDK,依赖了Myget上某Package并使用Nuget添加了该依赖。可选用“msbuild15-dotnetframework4.7.2”版本镜像,使用nuget restore && msbuild命令构建。 其他 对于有其他命令需求的项目,如Git、JDK、Nant、Nodejs等,请参见msbuild15-all版本镜像构建工具集的说明,使用支持的命令进行操作。 未支持场景 场景类型 说明 未使用Nuget管理依赖库 依赖了本地安装的依赖库,且没有使用nuget对依赖进行管理。详细解决方案请参见找不到程序集(**.dll)。 例如:某项目使用“dotnetframework4.7.2”的SDK,本地安装了Nunit依赖库,但没有使用Nuget对其进行管理。 此时使用msbuild命令对其进行构建时会出现找不到库的错误,导致构建失败。 解决方案版本低于VS2015(不包含) 对于使用VS2015(不含)以前版本创建的解决方案,会出现版本过低不兼容的情况,导致构建失败。请尝试升级解决方案。
  • Msbuild系统规格说明 为方便使用,编译构建服务提供的Msbuild构建环境原则上尽可能保持与本地环境一致,但因Windows系统与编译构建服务本身一些系统限制,少数场景下可能会导致构建失败。 使用前建议仔细阅读以下规格说明。 不支持带空格的文件路径 C#项目中目录或文件名中包含空格会导致构建失败,目录/文件的命名请使用字母、数字、下划线的组合,勿使用其他特殊字符,避免不必要的构建失败。 文件全路径长度不得超过260个字符 Windows系统中,文件全路径的最大长度限制为260个字符,超过此长度会导致Msbuild构建失败。 编译构建服务约定在指定目录下执行命令,即您的构建场景实际与以下步骤类似: cd C:\编译构建的默认路径\您的项目路径 msbuild 项目文件全路径长度实际为项目下文件相对路径长度与编译构建服务默认路径长度之和。 编译构建服务默认路径长度为45字符。 因此,在使用Msbuild构建的过程中,您的项目文件路径需满足:项目下文件相对路径(以代码仓库为根目录)长度不可大于215字符。 一些特殊场景(如构建时指定输出目录为“Output/release”)下,可能会额外占用路径长度。 建议您的项目下文件相对路径(以代码仓库为根目录)长度保持在200个字符以下,原则上尽可能短。 不可直接引用系统不具备的组件 部分场景下,解决方案中可能不使用NuGet等管理工具,直接引用默认路径下的程序集。 但构建时环境中不具备此程序集,导致编译告警,如果项目代码中使用了此引用,甚至会直接导致失败。 由于Windows系统特殊性,通常情况下,此类程序集默认安装于本地系统,无需指定程序集位置,VS构建时会从默认配置的几个程序集路径查找,可以构建成功。 而云端构建环境对应目录无此程序集,进而导致云端构建环境与本地不一致带来的失败。 为解决此类场景,Msbuild集成了NuGet,可以在构建时从远程仓库下载对应程序集,此时只需于项目中指定“packages.config”,并于其中声明依赖的程序集即可。 特殊情况下,项目引用的程序集可能无法在远程仓库找到,此时需要手工保存程序集至代码仓库中,并显式指定程序集路径。 详细解决方案请参见找不到程序集(**.dll)。 命令行中路径分隔符使用'/'而非'\' 部分场景下,可能需要在命令行中使用路径参数,此处需注意,Msbuild构建环境要求路径分隔符统一使用“/”格式。 错误示例: cd test\test1或cd test\\test1 正确示例: cd test/test1 避免直接指定低版本SDK路径 编译构建服务提供了“.NET Framework”的4.7.2版本和3.5版本(详细说明请参见已支持的镜像版本及工具集)。 一般来讲,4.7.2版本可以兼容4.0以上版本SDK,3.5版本可以兼容3.5版本以下SDK,项目中可以引用兼容版本的SDK内容。 在某些场景下,用户可能将引用直接指向了某个低版本的sdk路径,此时会因找不到SDK导致构建失败。 如果您的项目出现此类场景,建议: 尝试更改您的引用路径,尽可能使用兼容版本SDK。 如果您的项目因为不可回避的原因,必须指向低版本SDK路径,请尝试联系客服。
  • 编辑构建任务 登录编译构建服务首页。 在编译构建任务列表搜索目标任务。 单击编译构建任务所在行,在下拉列表中选择“编辑”,进入“编辑任务”页面。 基本信息:可修改任务名称、源码源、源码仓库、分支、任务描述等信息。 构建步骤:可修改构建步骤、步骤参数等信息。 参数设置:可配置执行任务时的自定义参数。 执行计划:可配置触发事件(持续集成)和定时执行。 修改历史:可查看构建任务的修改记录。 权限管理:可配置不同角色的权限。 通知:可配置任务事件类型通知信息(包括任务构建成功、失败、删除、配置更新、被禁用)。 根据需要选择对应页签并进行编辑,单击“保存”完成修改。
  • 删除构建任务 单击编译构建任务所在行,在下拉列表中选择“删除”。请根据实际情况确定是否删除对应构建任务。 删除的构建任务可到构建任务回收站中查看。在编译构建首页右上角单击“更多”,在下拉列表选择“构建任务回收站”。 页面中展示已删除的构建任务,根据需要可以完成以下相关操作。 操作 说明 修改任务保留时间 单击“任务保留时间”下拉列表,根据需要选择时长,可选天数范围为1~30天。 搜索任务 在搜索框中输入待搜索内容,单击搜索,即可在页面中查看搜索结果。 删除任务 在列表中勾选待删除的任务,单击“删除”,即可将所选任务从回收站中删除。 恢复任务 在列表中勾选待恢复的任务,单击“恢复”,即可将所选任务恢复到编译构建服务的任务列表中。 清空回收站 单击“清空回收站”,可将回收站中所有任务删除。
  • 图形化构建 将构建生成的软件包上传到软件发布库,在配置构建步骤时,添加“上传软件包到软件发布库”构建步骤即可。 当执行机选择Windows执行时,添加“上传软件包到软件发布库(Windows环境)”构建步骤。 仅支持上传单个文件、多个文件;不支持上传文件夹、自动创建路径。 例如,“a”目录下有“aa”文件和“b”目录,“b”目录下有“bb”文件,构建包路径配置为“a/**”。 即递归扫描“a”目录下所有文件,两个文件是同一个目录下,“aa”、“bb”两个文件将会上传到同一个目录下,系统不会在软件发布库里自动创建“b”目录。 如果用户有上传文件夹的需要,建议在“上传软件包到软件发布库”构建步骤之前先将待上传的文件夹打包为单文件后再上传。可以通过现有构建步骤执行打包命令,也可以新增“执行shell命令”构建步骤执行打包命令。 参数配置说明如下: 参数项 说明 步骤显示名称 构建步骤的名称,可自定义修改。 构建包路径 构建结果所在路径。 构建包路径支持正则匹配,“**”递归遍历当前目录,“*”匹配0或者多个字符,“?”匹配一个字符。 系统文件分隔符使用“/”;路径对大小写不敏感。 举例说明: *.class 当前目录下匹配“.class”结尾的文件。 **/*.class 当前目录下递归匹配所有的“.class”结尾的文件。 test/a??.java 匹配“test”目录下以“a”开头后跟两个字符的java文件。 **/test/**/XYZ* 递归匹配父目录为“test”文件是“XYZ”开头的所有文件,比如“abc/test/def/ghi/XYZ123”。 发布版本号 不指定(推荐):以构建编号命名上传到发布库的文件存储目录名。 指定:可能会覆盖同名存储目录下的文件。 包名 不指定(推荐):以文件原始名命名上传到发布库的文件名。包名推荐设置为空,可以上传构建包路径匹配的所有文件。 指定:上传多个文件时,可能会存在被覆盖的情况。如果包名需要设置且存在多个文件上传的情况,推荐增加多个上传软件包到软件发布库的构建步骤。
  • 代码化构建 1 2 3 4 5 6 7 8 version: 2.0 # 必须是2.0 steps: BUILD: - upload_artifact: inputs: path: "**/target/*.?ar" version: 2.1 name: packageName 参数名 参数类型 描述 是否必填 默认值 path string 构建结果所在路径,支持正则表达式。如maven可以使用**/target/*.?ar匹配所有构建出来的jar包和war包。 是 无 version string 不指定(推荐):以构建编号命名上传到发布库的文件存储目录名。 指定:可能会覆盖同名存储目录下的文件。 否 无 name string 不指定(推荐):以文件原始名命名上传到发布库的文件名。 指定:上传多个文件时,可能会存在被覆盖的情况。 否 无
  • 代码化构建 1 2 3 4 5 6 7 8 version: 2.0 # 必须是2.0 steps: BUILD: - fortran: inputs: command: |- gfortran -c -fpic helloworld.f90 gfortran -shared -o helloworld.so helloworld.o 参数名 参数类型 描述 是否必填 默认值 command string 执行命令。 是 无
  • 代码化构建 1 2 3 4 5 6 7 8 9 version: 2.0 # 必须是2.0 steps: BUILD: - flutter: inputs: flutter: region jdk: '3333' ndk: '23.1.7779620' command: ./instrumented.apk 参数名 参数类型 描述 是否必填 默认值 flutter string region名。 是 无 jdk string jdk文件名。 是 无 ndk string ndk文件名。 是 无 command string 执行命令。 是 无
  • 图形化构建 在配置构建步骤中,添加“Gnu-arm构建”构建步骤。 参数说明如下: 参数项 说明 步骤显示名称 构建步骤的名称,可自定义修改。 工具版本 请根据需要选择ARM工具版本。 命令 配置Gnu-arm构建命令,一般使用系统默认给出的make命令即可。 如果Makefile不在代码根目录下,用户需要cd到正确的目录,再使用make命令。 用户不使用make命令,可以参考下列镜像自带的编译命令: gnuarm201405镜像 使用arm-none-linux-gnueabi-gcc命令,例如arm-none-linux-gnueabi-gcc -o main main.c gnuarm-linux-gcc-4.4.3镜像 使用arm-linux-gcc命令,例如arm-linux-gcc -o main main.c gnuarm-7-2018-q2-update镜像 使用arm-none-eabi-gcc命令,例如arm-none-eabi-gcc --specs=nosys.specs -o main main.c 说明: Linux下的GNU的makefile编写,请参见官网。 注意Makefile只有行注释“#”,如果要使用或者输出“#”字符,需要进行转义,如使用“\#”。
  • 代码化构建 1 2 3 4 5 6 7 8 9 10 11 version: 2.0 # 必须是2.0 steps: BUILD: - mono: inputs: command: | nuget sources Disable -Name 'nuget.org' nuget sources add -Name 'xxcloud' -Source 'https://repo.xxcloud.com/repository/nuget/v3/index.json' nuget restore msbuild /p:OutputPath=../buildResult/Release/bin zip -rq ./archive.zip ./buildResult/Release/bin/* 参数名 参数类型 描述 是否必填 默认值 command string 执行命令。 是 无
  • 图形化构建 在配置构建步骤中,添加“上传文件到OBS”构建步骤。 参数说明如下: 参数项 说明 步骤显示名称 构建步骤的名称,可自定义修改。 授权用户 当前用户:上传到当前租户的OBS桶。 其他用户:可以通过选择IAM账号的方式上传到指定租户的OBS桶。 构建产物路径 构建结果所在路径,OBS存储文件名为空时,可使用通配符上传多个文件。如:maven可以使用**/target/*.?ar匹配所有构建出来的jar包和war包。 桶名 目标OBS桶名(不支持跨region上传)。 OBS存储目录 构建结果在OBS上的存储目录(如:application/version/),可留空,或填写“./”表示存储到OBS根目录。 OBS存储文件名 构建结果在OBS上的存储文件名(不包含目录),留空时可上传多个文件,取构建产物文件名为OBS存储文件名;不为空时只能上传单个文件,如:application.jar。 是否上传文件夹 可选择是否开启上传文件夹。 忽略文件夹路径 忽略的文件夹路径。选择上传文件夹时,会根据此路径忽略部分文件夹,不上传到OBS。 如产物路径填写为“target/api/api.jar”,忽略文件夹路径填写为“target”,obs存储目录为“./”,则会将“api.jar”上传到OBS桶的“api/api.jar”路径下。若路径无法匹配,则默认不忽略路径中的文件夹。 OBS头域 上传文件时加入一个或多个自定义的响应头,当用户下载此对象或查询此对象元数据时,加入的自定义响应头会在返回消息的头域中出现。如:“键”填写成“x-frame-options”,“值”填写成“false”,即可禁止OBS中存放的网页被第三方网页嵌入。