检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
对接Jenkins自动构建时deploy.sh脚本报错该如何处理? 用户场景 用户参考CAE《最佳实践》,使用Gitlab对接到Jenkins并部署到CAE时,deploy.sh脚本报错。 操作步骤 脚本报错,通常来说是用户侧问题。 用户自行修改了脚本,需要先核对脚本。
deploy.sh脚本说明 使用场景说明 场景一:使用Jenkins构建生成的是软件包,如jar包,就使用脚本中的软件包部署场景,软件包部署会将构建出来的软件包上传到obs桶中,再使用新的jar包去升级CAE组件。
/bin/sh /bin/bash 图1 登录命令配置 单击“确认”,即可访问容器。 页面跳转到CloudShell,并初始化启动kubectl,然后自动执行kubectl exec命令登录到容器。 请等待kubectl exec命令自动执行后再操作,此命令出现需要一段时间。
deploy_shell 是 String deploy.sh脚本在Jenkins所在虚拟机上存放的路径,示例:/root/jar/deploy.sh,内容请参见deploy.sh脚本说明。
componentA,componentB,componentC,componentD 图4 配置构建参数 选择“流水线”,在“流水线”页面进行脚本配置,脚本内容请参考流水线脚本。 图5 配置流水线脚本 脚本配置完成后,单击“保存”。
安装Jenkins插件:用于对接git以及支持在构建的时候使用脚本。 Jenkins全局工具配置:用于Jekins流水线打包脚本对接git拉取代码并打包。
操作步骤 操作前对接测试 配置流水线构建任务 deploy.sh脚本说明 父主题: Gitlab对接Jenkins自动构建并部署到CAE
执行安装命令: curl -sSL https://hwcloudcli.obs.cn-north-1.myhuaweicloud.com/cli/latest/hcloud_install.sh -o ./hcloud_install.sh && bash .
使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法构建,如Java:mvn clean package。 使用自定义命令:根据所选语言自定义构建命令;或修改build.sh文件后选择使用默认命令或脚本。
配置启动后命令脚本“/bin/sh -c "echo service start"”,配置停止前命令脚本“/bin/sh -c "echo service end"”。
使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法构建,如Java:mvn clean package。 使用自定义命令:根据所选语言自定义构建命令;或修改build.sh文件后选择使用默认命令或脚本。
命令的格式为Command Args[1] Args[2]…(Command为系统命令或者用户自定义可执行程序,如果未指定路径则在默认路径下寻找可执行程序),如果需要执行多条命令,建议采用将命令写入脚本执行的方式。
", "-c", "echo service start" ] } }, "preStop" : { "exec" : { "command" : [ "/bin/sh", "-c",
解决方案 提供上传jar包和镜像并升级CAE组件的方案,输出一个shell脚本在Jenkins构建打包完成之后调用脚本自动部署到CAE环境中,实现代码合入后自动构建打包部署。
使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法构建,如Java:mvn clean package。 使用自定义命令:根据所选语言自定义构建命令;或修改build.sh文件后选择使用默认命令或脚本。
java8 自定义构建 构建命令可根据业务需要选择“使用默认命令或脚本”或“使用自定义命令”。 注意:不同源码来源新建授权时授权方式不同,请按照实际情况进行选择。 使用默认命令或脚本 Dockerfile 组件来源是“源码仓库”时,根据业务需要设置。
对接Jenkins自动构建时deploy.sh脚本报错该如何处理?