{"id":14984609,"url":"https://github.com/dumasd/jenkins-config-ops-plugin","last_synced_at":"2025-04-10T21:20:51.230Z","repository":{"id":252665487,"uuid":"840976887","full_name":"dumasd/jenkins-config-ops-plugin","owner":"dumasd","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-02T09:01:10.000Z","size":2867,"stargazers_count":0,"open_issues_count":7,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-02T10:21:38.427Z","etag":null,"topics":["cicd","database","devops","devops-tools","java","jenkins","jenkins-plugins","nacos"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dumasd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-11T09:18:25.000Z","updated_at":"2025-04-02T09:00:56.000Z","dependencies_parsed_at":"2024-08-11T17:02:29.674Z","dependency_job_id":"7c6b5cba-4799-40e0-bf19-762bfb26bd16","html_url":"https://github.com/dumasd/jenkins-config-ops-plugin","commit_stats":{"total_commits":33,"total_committers":2,"mean_commits":16.5,"dds":"0.12121212121212122","last_synced_commit":"f8616f4986bca1a71e953ee81a49a9dcbfa08ede"},"previous_names":["dumasd/jenkins-config-ops-plugin"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dumasd%2Fjenkins-config-ops-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dumasd%2Fjenkins-config-ops-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dumasd%2Fjenkins-config-ops-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dumasd%2Fjenkins-config-ops-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dumasd","download_url":"https://codeload.github.com/dumasd/jenkins-config-ops-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298888,"owners_count":21080425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cicd","database","devops","devops-tools","java","jenkins","jenkins-plugins","nacos"],"created_at":"2024-09-24T14:09:20.026Z","updated_at":"2025-04-10T21:20:51.214Z","avatar_url":"https://github.com/dumasd.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jenkins ConfigOps Plugin\n\n## 介绍\n\n配合 [ConfigOps](https://github.com/dumasd/config-ops) 执行配置变更。\n\n## 开始使用\n\n### ConfigOps 部署\n\n在 Jenkins Agent 机器上部署 ConfigOps 服务，文档参考：[config-ops/README.md](https://github.com/dumasd/config-ops)\n\n### Nacos 配置变更\n\n1. nacosConfigsGet (Jenkins Step) 获取指定namespace列表下所有的配置\n\n``` groovy\ndef nacosConfigs = nacosConfigsGet(toolUrl: 'http://127.0.0.1:5000', nacosId: 'default', namespaces: ['vod-mfc', 'blue'])    \n```\n\n#### 输入参数\n\n| 参数         | 类似             | 参数解释                  | 必填                            |\n|------------|----------------|-----------------------|-------------------------------|\n| toolUrl    | Config Ops URL | Config Ops 服务地址       | N，不填默认为 http://127.0.0.1:5000 |\n| nacosId    | Nacos ID       | Config Ops Nacos 配置ID | Y                             |\n| namespaces | Namespaces     | Nacos 命名空间ID列表        | Y                             |\n\n#### 输出参数\n\n| 参数        | 类型       | 参数解释         |\n|-----------|----------|--------------|\n|           | object[] | 配置列表         |\n| - id      | string   | 配置ID         |\n| - dataId  | string   | Data ID      |\n| - group   | string   | Group        |\n| - content | string   | 当前内容         |\n| - tenant  | string   | Namespace ID |\n| - type    | string   | 配置格式         |\n\n2. nacosConfigAlter (Jenkins Parameter) Nacos配置修改界面\n\n```groovy\n// 传入上一步获取到的配置列表，弹出界面进行配置修改\ndef alterResult = input(message: 'Nacos Config Edit', parameters: [nacosConfigAlter(items: nacosConfigs)])\n```\n\n![nacos_alter_view](images/nacos_alter_view.png)\n\n#### 输入参数\n\n| 参数    | 类似       | 参数解释      | 必填 |\n|-------|----------|-----------|----|\n| items | object[] | Nacos配置列表 | Y  |\n\n#### 输出参数\n\n| 参数            | 类型       | 参数解释         |\n|---------------|----------|--------------|\n| values        | object[] | 配置列表         |\n| - namespace   | string   | Namespace ID |\n| - dataId      | string   | Data ID      |\n| - group       | string   | Group        |\n| - format      | string   | 配置格式         |\n| - content     | string   | 当前内容         |\n| - nextContent | string   | 修改后内容        |\n\n3. nacosConfigModifyApply (Jenkins Step) 应用修改后的配置\n\n``` groovy\nnacosConfigModifyApply(toolUrl: 'http://127.0.0.1:5000', nacosId: 'default', items: alterResult['values'])\n```\n\n#### 输入参数\n\n| 参数      | 类似             | 参数解释                  | 必填                            |\n|---------|----------------|-----------------------|-------------------------------|\n| toolUrl | Config Ops URL | Config Ops 服务地址       | N，不填默认为 http://127.0.0.1:5000 |\n| nacosId | Nacos ID       | Config Ops Nacos 配置ID | Y                             |\n| items   | object[]       | 上一步修改后的配置列表           | Y                             |\n\n完整示例\n\n``` groovy\npipeline {\n    agent {\n        label 'test'\n    }\n\n    stages {\n        stage('Hello') {\n            steps {\n                script {\n                    def nacosConfigs = nacosConfigsGet(nacosId: 'default', namespaces: ['vod-mfc', 'blue'])    \n                    def alterResult = input(message: 'Nacos Config Edit', parameters: [nacosConfigAlter(items: nacosConfigs)])\n                    nacosConfigModifyApply(nacosId: \"default\", items: alterResult['values'])\n                }\n            }\n        }\n    }\n}\n\n```\n\n### 数据库脚本执行\n\n1. databaseSqlEdit (Jenkins Parameter) 数据库SQL脚本编辑界面\n\n```groovy\ndef editResult = input(message: 'Choice', parameters: [databaseSqlEdit(dbs: [\"hotkey_db\", \"czb_test\"])])\n```\n\n#### 输入参数\n\n| 参数  | 类似       | 参数解释    | 必填 |\n|-----|----------|---------|----|\n| dbs | string[] | 数据库名称列表 | Y  |\n\n#### 输出参数\n\n| 参数         | 类型       | 参数解释    |\n|------------|----------|---------|\n| values     | object[] | 数据库脚本列表 |\n| - database | string   | 数据库名称   |\n| - sql      | string   | SQL脚本   |\n\n![sql_edit_view.png](images/sql_edit_view.png)\n\n2. databaseSqlApply (Jenkins Step) 执行数据库脚本\n\n```groovy\ndatabaseSqlApply(toolUrl: 'http://127.0.0.1:5000', databaseId: 'vod-dev', items: editResult['values'])\n```\n\n#### 输入参数\n\n| 参数         | 类似             | 参数解释                     | 必填                            |\n|------------|----------------|--------------------------|-------------------------------|\n| toolUrl    | Config Ops URL | Config Ops 服务地址          | N，不填默认为 http://127.0.0.1:5000 |\n| databaseId | Nacos ID       | Config Ops Database 配置ID | Y                             |\n| items      | object[]       | 上一步的数据库脚本列表              | Y                             |\n\n完整示例\n\n```groovy\npipeline {\n    agent {\n        label 'test'\n    }\n\n    stages {\n        stage('Execute') {\n            steps {\n                script {\n                    def editResult = input(message: 'Choice', parameters: [databaseSqlEdit(dbs: [\"hotkey_db\", \"czb_test\"])])\n                    databaseSqlApply(toolUrl: 'http://127.0.0.1:5000', databaseId: 'vod-dev', items: editResult['values'])\n                }\n            }\n        }\n    }\n}\n```\n\n## LICENSE\n\nLicensed under MIT, see [LICENSE](LICENSE.md)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdumasd%2Fjenkins-config-ops-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdumasd%2Fjenkins-config-ops-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdumasd%2Fjenkins-config-ops-plugin/lists"}