配合 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