配合 ConfigOps 执行配置变更。
在 Jenkins Agent 机器上部署 ConfigOps 服务,文档参考:config-ops/README.md
- nacosConfigsGet (Jenkins Step) 获取指定namespace列表下所有的配置
def nacosConfigs = nacosConfigsGet(toolUrl: 'http://127.0.0.1:5000', nacosId: 'default', namespaces: ['vod-mfc', 'blue'])
参数 | 类似 | 参数解释 | 必填 |
---|---|---|---|
toolUrl | Config Ops URL | Config Ops 服务地址 | N,不填默认为 http://127.0.0.1:5000 |
nacosId | Nacos ID | Config Ops Nacos 配置ID | Y |
namespaces | Namespaces | Nacos 命名空间ID列表 | Y |
参数 | 类型 | 参数解释 |
---|---|---|
object[] | 配置列表 | |
- id | string | 配置ID |
- dataId | string | Data ID |
- group | string | Group |
- content | string | 当前内容 |
- tenant | string | Namespace ID |
- type | string | 配置格式 |
- nacosConfigAlter (Jenkins Parameter) Nacos配置修改界面
// 传入上一步获取到的配置列表,弹出界面进行配置修改
def alterResult = input(message: 'Nacos Config Edit', parameters: [nacosConfigAlter(items: nacosConfigs)])
参数 | 类似 | 参数解释 | 必填 |
---|---|---|---|
items | object[] | Nacos配置列表 | Y |
参数 | 类型 | 参数解释 |
---|---|---|
values | object[] | 配置列表 |
- namespace | string | Namespace ID |
- dataId | string | Data ID |
- group | string | Group |
- format | string | 配置格式 |
- content | string | 当前内容 |
- nextContent | string | 修改后内容 |
- nacosConfigModifyApply (Jenkins Step) 应用修改后的配置
nacosConfigModifyApply(toolUrl: 'http://127.0.0.1:5000', nacosId: 'default', items: alterResult['values'])
参数 | 类似 | 参数解释 | 必填 |
---|---|---|---|
toolUrl | Config Ops URL | Config Ops 服务地址 | N,不填默认为 http://127.0.0.1:5000 |
nacosId | Nacos ID | Config Ops Nacos 配置ID | Y |
items | object[] | 上一步修改后的配置列表 | Y |
完整示例
pipeline {
agent {
label 'test'
}
stages {
stage('Hello') {
steps {
script {
def nacosConfigs = nacosConfigsGet(nacosId: 'default', namespaces: ['vod-mfc', 'blue'])
def alterResult = input(message: 'Nacos Config Edit', parameters: [nacosConfigAlter(items: nacosConfigs)])
nacosConfigModifyApply(nacosId: "default", items: alterResult['values'])
}
}
}
}
}
- databaseSqlEdit (Jenkins Parameter) 数据库SQL脚本编辑界面
def editResult = input(message: 'Choice', parameters: [databaseSqlEdit(dbs: ["hotkey_db", "czb_test"])])
参数 | 类似 | 参数解释 | 必填 |
---|---|---|---|
dbs | string[] | 数据库名称列表 | Y |
参数 | 类型 | 参数解释 |
---|---|---|
values | object[] | 数据库脚本列表 |
- database | string | 数据库名称 |
- sql | string | SQL脚本 |
- databaseSqlApply (Jenkins Step) 执行数据库脚本
databaseSqlApply(toolUrl: 'http://127.0.0.1:5000', databaseId: 'vod-dev', items: editResult['values'])
参数 | 类似 | 参数解释 | 必填 |
---|---|---|---|
toolUrl | Config Ops URL | Config Ops 服务地址 | N,不填默认为 http://127.0.0.1:5000 |
databaseId | Nacos ID | Config Ops Database 配置ID | Y |
items | object[] | 上一步的数据库脚本列表 | Y |
完整示例
pipeline {
agent {
label 'test'
}
stages {
stage('Execute') {
steps {
script {
def editResult = input(message: 'Choice', parameters: [databaseSqlEdit(dbs: ["hotkey_db", "czb_test"])])
databaseSqlApply(toolUrl: 'http://127.0.0.1:5000', databaseId: 'vod-dev', items: editResult['values'])
}
}
}
}
}
Licensed under MIT, see LICENSE