检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Gitlab对接Jenkins自动构建并部署到CAE 概述 环境准备 操作步骤 构建验证 附录
部署组件 本示例在环境下部署组件。 概述 本文通过调用部署组件接口部署一个组件。 API的调用方法请参见3 如何调用API。 操作步骤 部署组件。 调用部署组件接口,请求示例如下: curl -k -H "Content-Type:application/json" -H "X-Environment-ID:
部署前准备 创建环境 登录CAE控制台。 选择以下任意方式创建环境。 在您首次使用本服务时,页面会提醒您尚未创建环境。 单击创建环境卡片中的“立即创建”。 图1 创建环境 在弹出的对话框中输入对应的参数,具体参照表1。 表1 创建环境 参数 说明 环境名称 输入自定义的环境名称。
手动构建验证 在浏览器地址栏输入http://{安装Jekins的Linux虚拟机IP}:8080,登录Jenkins。 左侧导航栏单击“我的视图”。 选择对应的构建任务,单击构建任务名称进入详情界面,示例为“test-demo”。 单击右侧,在左侧构建执行状态中会生成一个构建任务,单击任务编号,选择“Console
构建验证 手动构建验证 Gitlab自动触发Jenkins构建 父主题: Gitlab对接Jenkins自动构建并部署到CAE
使用jenkins来构建部署升级微服务组件,升级涉及多个微服务组件,每个组件有单独的流水线用于构建部署升级。但是组件之间存在依赖关系,必须等待所依赖的组件升级完成才能升级流水线,否则会有基本功能问题。 升级过程需要时刻关注所依赖的组件是否升级完成,才能进行下一个组件的升级任务。 解决方案
Gitlab自动触发Jenkins构建 Gitlab触发Jenkins构建有以下两种方式: 通过配置好的Webhook来Push events,触发Jenkins构建任务。 修改构建配置指定分支的文件来Push events,触发Jenkins构建任务。 示例通过方式一来触发Jenkins构建。
最佳实践提高开发效率。下面以Java项目的构建、部署为例提供了完整的代码提交>>Jenkins构建>>软件包上传/镜像上传>>CAE部署的指导,如涉及其他语言如Golang等只需对应安装编译构建环境即可。 适用场景 此功能适用于您的代码已在Gitlab上管理,通过Jenkins构建打包,使用CAE进行应用托管,
操作步骤 操作前对接测试 配置流水线构建任务 deploy.sh脚本说明 父主题: Gitlab对接Jenkins自动构建并部署到CAE
附录 AK/SK获取方法 父主题: Gitlab对接Jenkins自动构建并部署到CAE
为何通过源码或软件包部署的耗时远高于通过镜像部署? 通过源码/软件相比通过镜像,还有打包/构建环节,较为耗时,具体时间和业务强相关。 父主题: 组件管理类
环境准备 准备Jenkins环境 上传代码到Gitlab代码仓库 安装obsutil工具 安装KooCLI工具 安装插件并配置Jenkins工具 父主题: Gitlab对接Jenkins自动构建并部署到CAE
配置流水线构建任务 场景一:使用Jenkins构建生成的是软件包,如Jar包,就使用脚本中的软件包部署场景,软件包部署会将构建出来的软件包上传到OBS桶中并升级CAE组件。 场景二:使用Jenkins构建生成的是镜像包,就使用脚本中的镜像部署场景,镜像部署会将构建出来的镜像包上传到SWR镜像仓库中并升级CAE组件。
安装obsutil工具 如果不涉及软件包部署,请跳过本章节。 前提条件 获取AK/SK,请参考AK/SK获取方法。 已获取部署组件的CAE所在区域的终端节点,参考地区和终端节点。 已在和部署组件的CAE在同一区域的OBS中创建桶,用于存储软件包,具体操作请参见创建桶。示例选择的桶名为cae-obs。
与其他云服务之间的关系 CAE吸收了全面云化转型的成功经验和技术创新成果,集成了众多服务的核心功能,对公有云基础设施服务、存储服务、数据库服务、软件仓库服务、监控运维以及中间件服务进行了深度整合,全力打造功能齐全的一站式应用云平台。 使用CAE可以系统的体验到众多云服务的功能精髓。
环境信息说明 如果已安装好jenkins环境,请跳过本章节。 在linux虚拟机上安装好Jenkins,本实践使用的具体环境信息如下所示。如果使用镜像部署,需要在虚拟机中安装docker。 虚拟机:Centos7.9 Jenkins:2.331 git:yum安装 jdk:11.0
安装KooCLI工具 KooCLI工具用于调用CAE服务提供的接口,对CAE组件执行升级等操作。 使用KooCLI工具之前,您需要先安装和初始化配置KooCLI工具: 安装KooCLI:您可以选择方式一:联网安装或者方式二:软件包安装安装KooCLI工具。 初始化配置KooCLI
场景一:使用Jenkins构建生成的是软件包,如jar包,就使用脚本中的软件包部署场景,软件包部署会将构建出来的软件包上传到obs桶中,再使用新的jar包去升级CAE组件。 场景二:使用Jenkins构建生成的是镜像,就使用脚本中的镜像部署场景,镜像部署会将构建出来的镜像上传到swr镜像仓库中,再使用新的镜像去升级CAE组件。
如不写,置空或者为空列表,则表示保留在最后一次生效配置中指定uid的元素的同一字段的值。且此时此级列表以及其父级和子级列表的所有元素的operator值必须同时全为空或者非空。 uid 否 String 端口配置的uid。 target_port 否 Integer 监听端口。 port
Jenkins全局工具配置 选择“系统管理 > 全局工具配置”。 图3 全局工具配置 配置maven。 示例中的maven安装目录“/root/app/maven/apache-maven-3.8.6”,请获取您的实际Maven安装目录。 图4 Maven配置 图5 Maven安装 配置JDK。