检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
咨询客户是否自行修改脚本内容,并核对脚本内容。 核对用户必填参数是否已经填写,并且场景正确。 其他场景导致的脚本执行后报错,比如脚本报CAE格式校验错误。 运行脚本的时候,加入参数 -x 。 bash -x deploy.sh 检查脚本信息,并检查是否符合预期。 修改脚本,重新运行即可。
deploy.sh脚本说明 使用场景说明 场景一:使用Jenkins构建生成的是软件包,如jar包,就使用脚本中的软件包部署场景,软件包部署会将构建出来的软件包上传到obs桶中,再使用新的jar包去升级CAE组件。 场景二:使用Jenkins构建生成的是镜像,就使用脚本中的镜像部署场
如果非首次登录,直接进入“云应用引擎”控制台。 控制台说明 CAE控制台说明如表1所示。 表1 CAE控制台说明 类别 说明 概览 提供CAE产品的整体看板信息,包含了应用健康度、CPU使用量、并发连接数、Memory使用量、流量、网络流入速率、并发连接数、引擎信息、环境基础信息和网络信息等。
verification”,单击“Add webhook”。 图9 完成webhook配置 配置流水线脚本 流水线脚本是构建时运行的构建命令,脚本参数说明见表1。 表1 流水线脚本参数说明 参数 是否必须 参数类型 描述 git_url 是 String Gitlab代码仓库地址。
安装Jenkins插件:用于对接git以及支持在构建的时候使用脚本。 Jenkins全局工具配置:用于Jekins流水线打包脚本对接git拉取代码并打包。 安装Jenkins插件 在浏览器地址栏输入http://{安装Jekins的Linux虚拟机IP}:8080,登录Jenkins。 选择“系统管理
具体操作请参考组件说明。 自定义构建:构建命令可根据业务需要选择“使用默认命令或脚本”或“使用自定义命令”。 说明: 不同源码来源新建授权时授权方式不同,请按照实际情况进行选择。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法构建,如Java:mvn
上传代码到Gitlab代码仓库 本实践使用的是Java项目代码,使用Maven构建Jar包。 前提条件 Jenkins所在Linux虚拟机能够访问GitLab代码仓库。 已经在GitLab创建账号和仓库。 操作步骤 登录GitLab。 上传代码到已创建好的代码仓库。 父主题: 环境准备
手动构建验证 在浏览器地址栏输入http://{安装Jekins的Linux虚拟机IP}:8080,登录Jenkins。 左侧导航栏单击“我的视图”。 选择对应的构建任务,单击构建任务名称进入详情界面,示例为“test-demo”。 单击右侧,在左侧构建执行状态中会生成一个构建任务,单击任务编号,选择“Console
语言/运行时:从下拉框中选择源码对应的语言格式。 自定义构建:构建命令可根据业务需要选择“使用默认命令或脚本”或“使用自定义命令”。 说明: 不同源码来源新建授权时授权方式不同,请按照实际情况进行选择。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法构建,如Java:mvn
CAE提供了回调函数,在容器生命周期的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以注册相应的钩子函数。 操作步骤 登录CAE控制台。 在左侧导航栏中选择“组件配置”。 在“组件配置”页面上方的下拉框中选择需要操作的组件。 图1 选择组件 单击“生命周期管理”模块中的“编辑”按钮。
准备Jenkins环境 环境信息说明 如果已安装好jenkins环境,请跳过本章节。 在linux虚拟机上安装好Jenkins,本实践使用的具体环境信息如下所示。如果使用镜像部署,需要在虚拟机中安装docker。 虚拟机:Centos7.9 Jenkins:2.331 git:yum安装 jdk:11
分支:选择对应的分支,用于开发对代码的管理。 构建方式:构建命令可根据业务需要选择“使用默认命令或脚本”或“使用自定义命令”。 说明: 不同源码来源新建授权时授权方式不同,请按照实际情况进行选择。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法构建,如Java:mvn
componentC,componentD 图4 配置构建参数 选择“流水线”,在“流水线”页面进行脚本配置,脚本内容请参考流水线脚本。 图5 配置流水线脚本 脚本配置完成后,单击“保存”。 流水线脚本 流水线脚本支持componentA、componentB、componentC和compone
么操作? 为何通过源码或软件包部署的耗时远高于通过镜像部署? 如何获取组件运行时具体版本? 对接Jenkins自动构建时deploy.sh脚本报错该如何处理?
部署前准备 创建环境 登录CAE控制台。 选择以下任意方式创建环境。 在您首次使用本服务时,页面会提醒您尚未创建环境。 单击创建环境卡片中的“立即创建”。 图1 创建环境 在弹出的对话框中输入对应的参数,具体参照表1。 表1 创建环境 参数 说明 环境名称 输入自定义的环境名称。
ask)设置为0022,确保nginx用户拥有读取挂载文件的权限,指导操作请参考配置云存储挂载路径。 创建并部署Nginx组件 登录CAE控制台。 选择“组件列表” 在页面上方,下拉选择已创建的应用和环境,单击“新增组件”。 参考表1设置组件信息。 表1 组件基本信息 参数 说明
操作步骤 操作前对接测试 配置流水线构建任务 deploy.sh脚本说明 父主题: Gitlab对接Jenkins自动构建并部署到CAE
储软件包,具体操作请参见创建桶。示例选择的桶名为cae-obs。 下载和安装 操作系统的选择: 下载安装前在Jenkins所在虚拟机中执行命令查看虚拟机操作系统类型: echo $HOSTTYPE 若执行如上命令的输出值是“x86_64”,请下载AMD 64位系统; 若执行如上命
取值范围[1-50]。默认值10秒。 最大重试次数 健康检查最大的重试次数。 取值范围[1-10]。默认值3次。 启用 访问控制 主要用来控制访问组件的IP地址,您可以创建访问控制策略,允许/禁止某个IP地址对组件进行访问。支持IP和IP网段。 允许所有IP访问。 白名单。 只允许白名单中放通的IP访问组件。
并且已经部署了组件之后,需要进行组件升级的场景。 第一次部署请参考创建组件。 解决方案 提供上传jar包和镜像并升级CAE组件的方案,输出一个shell脚本在Jenkins构建打包完成之后调用脚本自动部署到CAE环境中,实现代码合入后自动构建打包部署。 流程优化对比 当前上线流程图如下: 使用该方案后的流程图如下: