应用管理与运维平台 ServiceStage
应用管理与运维平台 ServiceStage
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 使用前必读
- 权限管理
- 环境管理
- 应用管理
- 组件管理
- 配置管理
- 全链路流量控制
- 发布管理(公测)
- 技术栈管理
- 部署源管理
- 持续交付
- 微服务引擎
- 云审计服务支持的关键操作
- 查看监控指标及告警
- 开发指南
- 最佳实践
- API参考
- SDK参考
- 场景代码示例
-
常见问题
- 应用开发问题咨询指引
- 环境管理
-
应用管理
- 如何查看应用组件部署失败的原因?
- 如何解决单击应用组件外部访问地址返回504的问题?
- 如何处理虚拟机类型环境下应用创建实例失败?
- 实例长期处于创建中怎么办?
- 如何解决Docker运行node应用程序时的依赖问题?
- 如何定制Tomcat Context path?
- 如何固定应用组件IP?
- 如何处理虚拟机类型环境下创建和部署组件时遇到ECS错误?
- 如何处理虚拟机类型环境下创建和部署组件时端口访问不通的错误?
- 虚拟机类型环境下部署的应用组件支持在什么目录写文件?
- 如何处理虚拟机类型环境下部署的组件删除失败报host status is not active错误的问题?
- 如何体验ServiceStage的源码部署功能?
- 如何处理使用ServiceStage灰度发布升级组件失败?
- 如何通过挂载配置项方式修改容器部署的组件配置文件?
- 如何处理应用组件接入微服务引擎后在微服务治理下看到的应用名称和ServiceStage应用管理下的不同?
- 持续交付
- 软件中心
- 基础设施
- 应用运维
- 应用开发问题
- 视频帮助
- 文档下载
- 通用参考
本文导读
链接复制成功!
配置流水线构建任务
- 场景一:使用Jenkins构建生成的是软件包,如Jar包,就使用脚本中的软件包部署场景,软件包部署会将构建出来的软件包上传到OBS桶中并升级ServiceStage组件。
- 场景二:使用Jenkins构建生成的是镜像包,就使用脚本中的镜像部署场景,镜像部署会将构建出来的镜像包上传到SWR镜像仓库中并升级ServiceStage组件。
本章节以配置流水线脚本中的实例为Jar包的场景进行说明。
创建GitLab凭证
使用具有GitLab代码仓库权限的账号密码在Jenkins中创建凭证,用于拉取GitLab代码。
- 在浏览器地址栏输入http://{安装Jenkins的Linux虚拟机IP}:8080,登录Jenkins。
- 选择“系统管理 > 系统配置”,在“配置”中选择“Gitlab”。
- 单击“Credentials”下方的“添加”,选择“Jenkins”。
- 配置GitLab账号密码,单击“添加”,保存配置。
- 选择“系统管理 > Manage Credentials”,查看配置的凭据。
唯一标识在配置流水线脚本中会用到。
创建流水线任务
- 在浏览器地址栏输入http://{安装Jenkins的Linux虚拟机IP}:8080,登录Jenkins。
- 单击“新建任务”。
- 输入任务名称,示例:test-upgrade,选择“流水线”,单击“确定”。
配置构建触发器
- 配置Jenkins构建触发器。
- 勾选“Build when a change is pushed to GitLab”,保存GitLab webhook URL(配置Gitlab webhook时需使用),然后单击右下角“高级”。
- 选择“Filter branches by regex ”,配置指定分支变更后触发构建任务,示例中的分支名称为main,单击右下角“Generate”生成Secret token并保存,在配置GitLab webhook时需使用。
- 配置GitLab webhook。
- 登录GitLab,进入代码仓库,示例中的仓库名称是“test”,选择settings中的“Webhooks”,URL和Secret token填写1获取到的GitLab webhook URL和Secret token。
- 取消勾选SSL verification的“Enable SSL verification”,单击“Add webhook”。
配置流水线脚本
流水线脚本是构建时运行的构建命令,脚本参数说明见表1。
参数 |
是否必须 |
参数类型 |
描述 |
---|---|---|---|
git_url |
是 |
String |
GitLab代码仓库地址。 |
credentials_id |
是 |
String |
使用账号密码配置的GitLab凭据id,请参考创建GitLab凭证。 |
branch_name |
是 |
String |
GitLab代码仓库分支名称。 |
maven |
是 |
String |
maven安装的可执行文件路径,例如:/root/app/maven/apache-maven-3.8.6/bin/mvn。 |
upgrade_shell |
是 |
String |
upgrade.sh脚本在Jenkins所在虚拟机上存放的路径,例如:/root/jar/upgrade.sh。内容请参见upgrade.sh脚本说明。 |
- 完成“构建触发器”配置之后,在“流水线”页签,在下拉框选择“Pipeline script”。
- 配置流水线脚本,示例中使用的是构建jar包场景,脚本如下:
请使用您环境下的实际参数替换脚本中的参数变量。
node { // 定义代码仓库地址,例如:http://10.95.156.58:8090/zmg/test.git def git_url = '{代码仓库地址}' // GitLab凭据id def credentials_id = '{GitLab凭据id}' // git代码仓库分支名称,例如:main def branch_name = '{git代码仓库分支名称}' // maven安装的可执行文件路径,例如 :/root/app/maven/apache-maven-3.8.6/bin/mvn def maven = '{maven安装的可执行文件路径}' // upgrade.sh脚本存放路径,例如:/root/jar/upgrade.sh def upgrade_shell = '{upgrade.sh脚本存放路径}' stage('Clone sources') { git branch: branch_name, credentialsId: credentials_id, url: git_url } stage('Build') { // 构建jar包 sh "'$maven' clean package -Dmaven.test.failure.ignore=true -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true" } stage('upgrade') { // 执行脚本,使用构建上传到obs的jar包升级ServiceStage组件,超时时间5分钟 sh "timeout 300s '$upgrade_shell'" } }
父主题: 操作步骤