ContainerOps提供了快速创建流水线的界面操作方法,您可以在流水线中设置代码获 取、代码编译、镜像构建和镜像部署等任务。
操作步骤
步骤1 登录ContainerOps控制台。
步骤2 选择左侧导航栏的“流水线”,在右侧页面单击“快速创建流水线(推荐)”。
步骤3 设置创建流水线信息,单击“确定”进入流水线配置页面。
图3-1 创建流水线
● 流水线名称:设置流水线名称。
● 流水线组:选择流水线组,如果没有流水线组,可单击“新建一个组”创建流水 线组。
● 镜像语言:可选择“JAVA”、“GO”、“NodeJs”或“其他”。
● 构建源:“源码仓库”或“软件包”。
– 源码仓库:从代码库获取的源码进行编译后,将所生成的二进制文件构建成 镜像。
– 软件包:用所指定的软件仓库中的文件构建成镜像,并自动上传到指定的镜 像仓库中。
● 部署:可选项,开启后支持“CCE部署”或“CCI部署”。镜像部署的配置方法参 见8。
须知
● 镜像语言选择“JAVA”、“GO”或“NodeJs”时,构建源可选择“源码仓库”或
“软件包”。构建源选择“源码仓库”时,源代码仓库、Jenkins构建-云上和镜像 构建的配置方法参见5、6、7。构建源选择“软件包”时,镜像构建的配置方法参 见7。
● 全局变量:已默认设置了SYS_TIMESTAMP(时间戳)和SYS_INCREMENT(自增 量)全局变量,如需添加新的全局变量,可单击“添加全局变量”。设置的全局 变量通过${变量名}的方式,在流水线的配置、脚本中使用。例如:在此处配置环 境变量名reponame,则在上传软件包时,可通过${reponame}来获取值。
● 拓扑图:展示当前流水线的拓扑图,单击对应图标,可在下方进行阶段配置。
当前版本代码来源支持DevCloud、Gitee、Github、GitLab。
绑定账号后,需要配置以下信息:
– 命名空间:配置为代码仓库所属的命名空间。
– 仓库名称:配置为代码仓库的名称。
– 分支:选择“分支”,可配置代码所属的分支。
– 标签:选择“标签”,可配置代码对应的标签。
● 自动构建:当满足勾选的条件(添加新tag时触发流水线、提交代码到分支时触发 流水线)时,即触发构建。
– Webhook挂载:选择“自动挂载”或“手动挂载”。若选择自动挂载,则会 在您选择自动构建以后自动将webhook挂载到对应的源码仓库,若选择手动 挂载,则需要您手动复制信息并在对应的源码仓库下创建一个webhook。当 您绑定的账号没有创建webhook权限时,建议您选择手动挂载方式,再由高 权限的用户手动创建webhook。
● 高级选项:添加该阶段的错误处理机制、触发条件和消息通知,实现流水线间的
– 触发条件:支持“webhook”和“内部调用”两种方式。选择webhook,使 用webhook类型的URL触发该阶段,该url已默认生成。选择内部调用,使用 指定频道触发该阶段。
如需为触发条件添加传入参数,可单击“添加传入参数”,设置参数名称,
选择全局变量,该参数的值将传递给选择的全局变量。
触发模式可选择“全部触发视为触发”或“任意一个触发即触发”。
图3-2 触发条件
– 消息通知:支持“webhook”和“内部调用”两种方式。执行结果通知可勾 选“成功时通知”和“异常时通知”。
▪
选择webhook,使用通知URL进行消息通知,支持POST和GET类型,可 添加头域、请求体和参数。图3-3 webhook 消息通知
▪
选择内部调用,使用指定频道进行消息通知。如需为消息通知添加传出 参数,可单击“添加传出参数”,设置参数名称,选择全局变量,选择 的全局变量值将传递给该参数。图3-4 内部调用消息通知
步骤6 单击拓扑图中的阶段图标,配置“代码编译”信息,单击“下一步”。
阶段类型默认为“Jenkins构建-云上”。
● 输入资源:支持“代码来源”、“软件包”。
软件包格式为:组织(必选)/软件仓库(必选)/软件包(必选)/软件包版本
(必选)/文件(可选)。如需创建软件包,可单击左侧导航栏的“软件中心”,
创建方法请参见软件中心。
● 编译环境:对源码进行编译的环境,支持Java、Go、Node.js或自定义。
● 构建脚本:对源码进行编译的脚本。
– Java:默认为mvn package;
– Go:默认为go build -o myBuild;
– Node.js:默认为npm install && npm run build;
– 自定义:自定义编译环境镜像,只支持通过公开镜像镜像构建,暂不支持私 有镜像。
● 启动缓存构建:选择是否启用构建缓存。勾选后则启动maven、go、nodejs缓存 加速构建任务。
● 归档软件包:填写脚本编译出来的软件包,如:test.jar。
镜像格式为:组织(必选)/镜像仓库(必选)/Tag(必选)。如需添加镜像,可 单击左侧导航栏的“镜像仓库”,前往容器镜像服务上传镜像,上传方法请参见 客户端上传镜像。
软件包格式为:组织(必选)/软件仓库(必选)/软件包(必选)/软件包版本
(必选)/文件(可选)。如需创建软件包,可单击左侧导航栏的“软件中心”,
创建方法请参见软件中心。
● 构建方式:系统默认或自定义Dockerfile。选择“系统默认”时,需要配置“基础 镜像”、“基础镜像版本”和“对外服务端口”。选择“自定义Dockerfile”时,
需要配置“基础镜像”、“Dockerfile”。
● 基础镜像:Tomcat、Golang、Java。
– Tomcat: 使用最新的Tomcat版本作为基础镜像,用于war包的镜像构建 。 – Golang:使用最新的Golang版本作为基础镜像,用于go语言二进制的镜像构
建 。
– Java:使用最新的Java版本作为基础镜像,用于jar包的镜像构建 。
● Dockerfile:填写Dockerfile路径或在网页填写Dockerfile内容。
说明
Dockerfile路径默认为./Dockerfile,表示当前目录下的文件。填写的Dockerfile路径为相对 路径,输入资源中的代码或软件包将被下载到构建目录,然后在构建目录执行镜像构建。
● 归档资源:选择镜像归档地址,格式为:组织(必选)/镜像仓库(必选)/Tag
(必选)。其中,Tag参数建议通过全局变量的配置和引用来管理版本号,若存在 具体版本号,可选择已有版本号进行管理。
步骤8 (可选,当3中部署开启后执行该步骤)单击拓扑图中的阶段图标,配置“部署”信 息,单击“提交”。
阶段类型默认为“正式发布”。
● 输入资源:支持“镜像”。
镜像格式为:组织(必选)/镜像仓库(必选)/Tag(必选)。如需添加镜像,可 单击左侧导航栏的“镜像仓库”,前往容器镜像服务上传镜像,上传方法请参见 客户端上传镜像。
● 部署工具:选择“云容器引擎CCE”或“云容器实例CCI”。
a. 选择“云容器引擎CCE”,设置以下参数:
▪
集群:选择镜像对应的集群。若无可用的集群,可单击“创建集群”跳 转到CCE控制台创建集群。▪
命名空间:配置为集群所对应的命名空间。若无可用的命名空间,可单 击“创建命名空间”跳转到CCE控制台创建命名空间。▪
工作负载:选择镜像对应的工作负载,若无可用的工作负载,可单击 多添加300个。▪
升级方式:当“创建方式”配置为“标准”才显示。创建应用时设置,▪
CPU配额:当“创建方式”配置为“标准”才显示。CPU申请值,指需 要预留给容器的CPU值,依据此值选择有足够CPU资源的节点进行配 置。CPU限制值,指允许容器使用的CPU最大值。▪
内存配额:当“创建方式”配置为“标准”才显示。内存申请值,需要 预留给容器的内存值,依据此值选择有足够内存资源的节点进行调度。内存限制值,指允许容器使用的内存最大值。
▪
Manifest:当“创建方式”配置为“YAML”才显示。编辑时需要按照 kubernetes的yaml语法编辑Manifest。b. 选择“云容器实例CCI”,设置以下参数:
▪
命名空间:选择镜像对应的命名空间。若无可用的命名空间,可单击“创建命名空间”跳转到CCI控制台创建命名空间。
▪
工作负载:选择镜像对应的工作负载,若无可用的工作负载,可单击“新建”创建工作负载。
▪
创建方式:“标准”或“YAML”。▪
实例数量:当“创建方式”配置为“标准”才显示。添加实例数量,最 多添加300个。▪
GPU加速:当“命名空间”配置为GPU加速型命名空间才显示。勾选“使用GPU加速型”后可选择GPU规格和驱动规格。选择使用GPU加速 型后,CPU配额和内存配额将无法设置。
▪
CPU配额:当“创建方式”配置为“标准”才显示。CPU限制值,指允 许容器使用的CPU最大值。▪
内存配额:当“创建方式”配置为“标准”才显示。内存限制值,指允 许容器使用的内存最大值。▪
Manifest:当“创建方式”配置为“YAML”才显示。编辑时需要按照 kubernetes的yaml语法编辑Manifest。● 应用服务配置:选择“工作负载”后才可配置该项。单击“添加服务”,可设置 服务名称、访问类型和端口配置。
说明
使用CCI部署时,新建工作负载才可添加服务,选择现有应用不可配置应用服务。使用CCE 部署时,新建和选择现有工作负载都可配置应用服务。
● 高级设置:可选项,包括“健康检查”、“容器日志”、“数据存储”、“环境 变量”、“生命周期”和“性能管理配置”。
说明
使用CCI部署时,不支持性能管理配置。
– 健康检查:健康检查是指容器运行过程中根据用户需要定时检查容器健康状
ContainerOps的模板市场中提供了多个流水线模板,当前模板市场中提供流水线模板 如表5-1。您可以基于这些示例模板来创建流水线。
操作步骤
以“将源码直接构建成镜像(不部署)”为例介绍使用示例模板创建流水线。
步骤1 登录ContainerOps控制台。
步骤2 选择左侧导航栏的“流水线”,在右侧页面单击“使用示例模板创建”。
步骤3 单击左侧导航栏的“镜像构建”,在“将源码直接构建成镜像(不部署)”卡片内单 击“创建流水线”。