云服务器内容精选

  • 规格与限制 指标项 限制值 文件管理中上传的文件大小 最多100Kb 上传文件管理的文件个数 最多20个 模板数 最多5000个/租户 自定义镜像 大小 最多5G 单租户下编译构建任务数 最多10000个 单租户下最大并发执行数 不同套餐规格不同。具体可参考套餐规格特性差异。 体验版:最多1个 基础版:最多5个 专业版:最多10个 企业版:最多20个 构建任务执行次数/年 不限制 单个构建任务最大支持构建步骤数 最多50个 说明: 北京区域当前只支持30个。 单个构建任务最大并发执行数 不同套餐规格不同。具体可参考套餐规格特性差异。 体验版:最多1个 基础版:最多5个 专业版:最多10个 企业版:最多20个 单次构建最大时长 不同套餐规格不同。具体可参考套餐规格特性差异。 体验版:最多30分钟 基础版:最多60分钟 专业版:最多240分钟 企业版:最多360分钟 构建任务历史执行记录保留时长 最多1个月 单个构建任务加速最大并发CPU核数 最多256 说明: 最大并发CPU核数,即make -j后面的数字。 浏览器类型 目前适配的主流浏览器类型包括: Chrome浏览器:支持最新的3个版本。 Firefox浏览器:支持最新的3个版本。 Microsoft Edge浏览器:Win10默认浏览器,支持最新的3个版本。 IE浏览器:不再进行支持与测试。 推荐使用Chrome、Firefox浏览器,效果会更好。 分辨率大小 推荐使用1280*1024以上。
  • 使用须知 如果您使用CodeArts Build服务开展在特定行业的业务,比如:教育、医疗和银行等,需同时遵守相关国家规定的用户数据保护法律和内容管理法律。 禁止通过CodeArts Build服务对外部视频或音频网页爬取、加工或上传数据。 禁止通过CodeArts Build服务进行源代码编译构建之外的操作。 禁止使用sleep、usleep、read、timeout、yes、dd、while循环等命令长期(超过10分钟)占用服务器进程。
  • 什么是编译构建 编译构建是指将软件的源代码编译成目标文件,并和配置文件、资源文件等一起打包的过程。 编译构建服务(CodeArts Build)为开发者提供配置简单的混合语言构建平台,实现编译构建云端化,支撑企业实现持续交付,缩短交付周期,提升交付效率。支持编译构建任务一键创建、配置和执行,实现获取代码、构建、打包等活动自动化,实时监控构建状态,让您更加快速、高效地进行云端编译构建。 容器化构建 编译构建服务提供容器化的构建环境,支持两类容器镜像: 系统镜像:编译构建服务默认内置的支持业界主流编程语言编译和打包的构建镜像。 自定义镜像:支持 容器镜像服务 SWR,用户可通过定制符合自身应用的镜像来实现混合语言编译和打包。 全链路构建加速 CodeArts Build提供构建时代码下载、依赖二进制下载、编译链接等过程的端到端加速技术,实现构建效率的提升。
  • 基本概念 表1 编译构建服务基本概念 词汇 定义 执行参数 构建任务运行时才指定值的参数,按照类型分为“自定义参数”和“系统预定义参数”。 服务扩展点 一种扩展插件,为平台提供链接第三方服务的能力。如,编译构建服务使用服务扩展点可连接通用Git平台获取项目源码,服务扩展点可以提供对此类连接的新建、编辑、删除等操作。 执行计划 定义构建任务自动触发时的一些规则。通过触发器,使编译构建的自动化执行更加灵活易用 构建模板 按照编程语言或者编译框架提供的包含构建环境、样例构建命令及参数的模板,用户可基于模板简单修改即可开始构建,可提升任务配置效率。 步骤 一个步骤代表编译过程中的一个自动化环节,如编译一个jar包可包含“Maven构建”和“上传软件包到软件发布库”两个构建步骤,即可完成一个软件包的自动化生产。 Domain ID 创建租户时生成的唯一身份标识。
  • 配置构建步骤并执行构建任务 单击“点击添加构建步骤”,添加“下载文件管理的文件”构建步骤,“步骤显示名称”和“工具版本”保持默认,“下载文件”选择上传settings.xml文件至编译构建中上传的文件“settings.xml”。 单击“点击添加构建步骤”,添加“Maven构建”构建步骤,“命令”窗口中mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”注释,删除mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”,并将mvn deploy -Dmaven.test.skip=true -U -e -X -B改为mvn deploy -Dmaven.test.skip=true -s settings.xml -U -e -X -B,其它参数保持默认即可。 单击“保存并执行”。 在弹出的窗口中单击“确定”,等待构建任务执行完成。
  • 操作流程 流程 说明 访问编译构建服务首页 介绍如何访问编译构建服务首页。 创建项目 为本实践创建项目。 创建私有依赖库 创建本实践中使用的私有依赖库。 查询私有依赖仓库信息 查询私有依赖库的id和url信息,用于配置在代码仓的“pom.xml”文件中。 上传settings.xml文件至编译构建 上传“settings.xml”文件到编译构建服务的“文件管理”中。 创建CodeArts Repo代码仓 创建本实践需要使用的代码仓。 配置Maven构建产物发布的私有依赖库地址 配置构建产物上传的私有依赖库的地址。 创建编译构建任务 创建本实践需要使用的编译构建任务。 配置构建步骤并执行构建任务 配置“下载文件管理的文件”和“Maven构建”步骤并执行构建任务。 查看编译构建结果 在私有依赖库中查看编译构建结果。
  • 设置定时执行任务 为了防止问题代码进入生产环境,确保应用总是处于可部署的状态,团队建议对应用进行持续不断的验证。 通过以下设置,可实现构建任务的定时执行。 在任务“phoenix-sample-ci”的详情页,单击“编辑”。 选择“执行计划”页签。 打开“启用定时执行”开关,根据需要选择执行日与执行时间,保存任务。 本文档中勾选“全选”,执行时间为“12:00”(本文中使用默认时区,可以根据实际需要修改时区)。 验证配置结果:根据配置时间查看构建任务是否自动执行,本节不再赘述。
  • 设置提交代码触发自动编译 通过以下配置,可实现代码变更后自动触发构建任务的执行,从而实现项目的持续集成。 在任务“phoenix-sample-ci”的详情页,单击“编辑”。 选择“执行计划”页签。 打开“提交代码触发执行”开关,保存任务。 由于在参数设置页面为参数codeBranch配置的默认值为“master”,因此本次设置的结果是当master有代码变更时自动触发构建。 验证配置结果:修改项目代码并提交至master,即可查看构建任务是否自动执行。
  • 配置SWR服务 本文档使用SWR来保存环境镜像,需要首先配置容器 镜像服务 (SWR)。 在CodeArts中单击导航“控制台”。在控制台中单击左上角搜索并进入SWR服务。 请检查页面左上方的“区域”列表,请确保与编译构建任务所在区相同的区域。如果区域不同,请选择相同区域。 单击“登录指令”,页面弹框显示登录指令。 其中, -u之后的字符串为用户名。 -p之后的字符串为密码。 最后的字符串为SWR服务器地址,此地址即为后续配置并执行任务中的参数“dockerServer”。 图1 登录指令 此处生成的登录指令为临时登录指令,有效期为24小时。如果需要长期有效的登录指令,请参见获取长期有效登录指令。 单击“创建组织”,在弹框中输入组织名称“phoenix”(此名称全局唯一,如果页面提示“组织已存在”,请自定义其它名称),单击“确定”保存。 这里的组织名称,即为后续配置并执行任务中的参数“dockerOrg”。
  • 预置任务简介 样例项目中预置了以下5个构建任务。 表1 预置任务 预置任务 任务说明 phoenix-sample-ci 基本的构建任务。 phoenix-sample-ci-test 构建测试环境可用镜像的任务。 phoenix-sample-ci-worker 构建Worker功能镜像的任务。 phoenix-sample-ci-result 构建Result功能镜像的任务。 phoenix-sample-ci-vote 构建Vote功能镜像的任务。 本章节以任务“phoenix-sample-ci”为例进行讲解,此任务包含的步骤如下。 表2 构建步骤 构建步骤 说明 制作Vote镜像并推送到SWR仓库 依据代码仓库中的“vote/Dockerfile”文件制作Vote功能镜像,并将镜像推送到容器镜像服务。 制作Result镜像并推送到SWR仓库 依据代码仓库中的“result/Dockerfile”文件制作并推送Result功能镜像,并将镜像推送到容器镜像服务。 使用Maven安装Worker依赖包 使用Maven安装Worker功能所需的依赖。 制作Worker镜像并推送到SWR仓库 依据代码仓库中的“worker/Dockerfile”文件制作并推送Worker功能镜像,并将镜像推送到容器镜像服务。 生成Postgres and Redis Dockerfile 通过shell命令生成Dockerfile文件,用以制作Postgres(数据库)和Redis(缓存)镜像。 制作Postgres镜像并推送到SWR仓库 依据“生成Postgres and Redis Dockerfile”步骤中所生成的Dockerfile文件制作Postgres镜像,并将镜像推送到容器镜像服务。 制作Redis镜像并推送到SWR仓库 依据“生成Postgres and Redis Dockerfile”步骤中所生成的Dockerfile文件制作Redis镜像,并将镜像推送到容器镜像服务。 替换Docker-Compose部署文件镜像版本 为了将镜像部署到E CS 时,能够可以拉取到正确的镜像,使用shell命令进行完成以下操作。 使用sed命令,依次将文件“docker-compose-standalone.yml”中的参数替换为构建任务的参数“dockerServer”、“dockerOrg”、“BUILDNUMBER”进行替换。 使用tar命令,将文件“docker-compose-standalone.yml”压缩为“docker-stack.tar.gz”,将部署所需文件进行打包,以便于后续步骤将该文件上传归档。 替换Kubernetes部署文件镜像版本 为了将镜像部署到CCE时,能够可以拉取到正确的镜像,使用shell命令进行完成以下操作。 使用sed命令,将代码仓库中目录“kompose”下所有以“deployment”结尾的文件中的参数“docker-server”、“docker-org”,替换为构建任务的参数“dockerServer”、“dockerOrg”。 使用sed命令,将代码仓库中“result-deployment.yaml”、“vote-deployment.yaml”、“worker-deployment.yaml”三个文件中的参数“image-version”用构建任务参数“BUILDNUMBER”进行替换。 上传Kubernetes部署文件到软件发布库 将“替换Kubernetes部署文件镜像版本”步骤中修改后的所有“.yaml”文件上传到软件发布库中归档。 上传docker-compose部署文件到软件发布库 将“替换Docker-Compose部署文件镜像版本”步骤中压缩好的“docker-stack.tar.gz”上传到软件发布库中归档。
  • 查看编译构建结果 “构建流程”页签中展示了当前构建任务运行的全量流程图,在构建任务未执行完成时,可以清晰的看到Job1和Job2是并行执行,Job3是等待Job1和Job2执行完成后才执行。 单击“构建流程”页签中左侧菜单的“Job1”或右侧界面的绿色矩形图形的“Job1”,进入Job1构建任务的执行详情页面,可以查看Job1构建任务的构建日志。 其中, “步骤日志”页签展示了当前构建任务运行顺序和资源调度情况。 “构建参数”页签展示了当前构建任务全局的参数信息。 “构建脚本”页签展示了当前构建任务执行的脚本内容。 参考1可查看“Job2”和“Job3”的构建任务执行详情。
  • 应用场景 在编译构建中,构建任务是构建的最小单元,适用于业务比较简单的场景,但是在有些复杂的构建场景下,构建任务可能并不能满足复杂的构建要求。例如,用户希望更模块化、更加细粒度的拆分构建任务,并按照构建任务之间的依赖顺序进行构建。 为此,编译构建服务支持使用BuildFlow将多个存在依赖关系的构建任务按照有向无环图(DAG)的方式组装起来,BuildFlow将会按照构建的依赖关系并发进行构建。 本示例为您演示构建任务3依赖于构建任务1和构建任务2的构建工程。
  • 操作流程 流程 说明 访问编译构建服务首页 介绍如何访问编译构建服务首页。 创建项目 为本实践创建项目。 创建CodeArts Repo代码仓 为本实践创建Repo代码仓用于存储代码文件。 创建build.yml文件 通过“build.yml”定义整个构建的流程。 创建build.yml中使用的子任务执行脚本 创建整个构建过程中依赖的构建任务的执行脚本。 创建并执行编译构建任务 创建BuildFlow编译构建任务并执行。 查看编译构建结果 查看编译构建结果。
  • 图形化构建 配置构建步骤时,在“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命令。 是 无