From 40f00b0ce33a6d2995c24b8734542c9513f77bd5 Mon Sep 17 00:00:00 2001 From: zhuay <1273313281@qq.com> Date: Mon, 29 Jul 2024 19:29:21 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E5=AE=8C=E5=96=84Jenkins=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jenkins_Plugin.md" | 77 ++++++++++++++++--- .../Jenkins_Plugin.md" | 6 +- 2 files changed, 71 insertions(+), 12 deletions(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index f3a8cb972..822daf6f7 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -7,11 +7,10 @@ ### 获取Jenkins插件 Jenkins插件有以下两种获取方式: -**方式一**:在 TCA 源码的`plugin/jenkins_plugin`目录下,执行命令`mvm package -DskipTests`,打包完成后进入target目录会看到`Jenkins_plugin.hpi` 的安装包。 +**方式一**:在 TCA 源码的`plugin/jenkins_plugin`目录下,执行命令`mvn package -DskipTests`,打包完成后进入target目录会看到`tca_jenkins_plugin.hpi` 的安装包。 **方式二**:从TCA release 安装包中,获取`jenkins_plugin.hpi`:[https://github.com/Tencent/CodeAnalysis/releases](https://github.com/Tencent/CodeAnalysis/releases)。 - ### 在Jenkins安装插件 在Jenkins中通过【Manage Plugin】-> 【Advanced】->【Deploy plugin】的方式选择 Jenkins_plugin.hpi文件上传安装,并重启Jenkins。 ![](../../../images/jenkins_manage_plugins.png) @@ -20,6 +19,12 @@ Jenkins插件有以下两种获取方式: 最终在【Installed】里搜索出【TCA】代表插件安装成功。 ![](../../../images/jenkins_installed_plugins.png) +### 完善启动客户端的环境 +在CodeAnalysis目录下执行代码 +```shell +bash ./scripts/base/install_bin.sh +``` +将`client`目录下的`config.ini`文件中的``替换部署的开源版TCA的IP地址(可包含端口号) ## 使用插件 ### 在 TCA 创建团队和项目 @@ -35,9 +40,9 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_manage_jenkins.png) - -### 创建一个构建任务,配置代码库信息 -进入Jenkins,通过【New Item】创建一个空白任务,在任务配置中【Source Code Management】配置待分析的代码库地址和凭证。 +### 配置 TCA 插件 +#### 方式一:可视化界面配置 TCA 插件 +创建一个构建任务,配置代码库信息,进入Jenkins,通过【New Item】创建一个空白任务,在任务配置中【Source Code Management】配置待分析的代码库地址和凭证。 `Repository URL`: 填入远端仓库地址 `Credentials`: 添加仓库的用户名和密码作为凭证,如果是公开仓库,可以不设置仓库凭证 @@ -45,14 +50,13 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_git_config.png) -### 配置 TCA 插件 在构建任务的【Build】中选择【TCA】插件并配置以下参数: -`CodeAnalysis`: 拉取代码所在的绝对路径 +`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/User/CodeAnalysis) `团队ID`: 在 TCA 中创建的团队的标识ID,可在TCA【团队概览】中获取“团队唯一标识” `项目名称`: 在 TCA 中创建的项目的标识ID,可在TCA【项目概览】中获取“项目唯一标识” `Token`: 在 TCA 的【个人中心】->【个人令牌】中获取 -`分支名称`: 需要扫描的代码分析名称 +`分支名称`: 需要扫描的代码分支名称 `语言类别`: 项目需要扫描的语言 `分析方案模板ID`: 需要使用的分析方案模板ID,在分析方案模板的“基础属性”中获取,将根据此模板创建分析方案(选填) `分析方案名称`: 指定创建出来的分析方案的名称(选填) @@ -63,6 +67,34 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_tca_plugin_config.png) +#### 方式二:pipeline语法配置 TCA 插件 +在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考(如果从release中获取插件可能会出现 No such DSL method 'TCA'的错误,解决方法可参考 https://github.com/Tencent/CodeAnalysis/issues/1150) + +```pipeline +pipeline{ + agent any + + stages{ + stage('Build'){ + steps{ + TCA(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + } + } + } +} + +``` +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/User/CodeAnalysis) +`teamId`:团队ID +`projectName`: 项目名称 +`token`: 在 TCA 的【个人中心】->【个人令牌】中获取 +`branchName`: 需要扫描的代码分支名称 +`languageType`: 项目需要扫描的语言 +`refSchemeID`: 需要使用的分析方案模板ID,在分析方案模板的“基础属性”中获取,将根据此模板创建分析方案(选填) +`scanPlan`: 指定创建出来的分析方案的名称(选填) +`threshold`: 设置质量门禁值 +`total`: 是否全量扫描,填`ture`为全量扫描,不填或填`false`为增量扫描 + ### 启动构建并查看结果 点击【Build Now】启动构建。 进入构建任务,在【Console Output】中查看执行过程。 @@ -74,6 +106,8 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ## 设置质量门禁 在上述 TCA 插件配置部分填写`质量门禁`参数,需要填写一个整数,即当前分支的扫描问题量大于该质量门禁值时,判断为不通过;否则为通过。完成后会将TCA结果状态(`success`|`failure`)输出到工作空间下的`tca_threshold.txt`文件中,供后续步骤判断和终止流水线。 +### 可视化界面使用质量门禁 + 在TCA插件后增加shell命令步骤,输入以下脚本内容: ![](../../../images/jenkins_shell.png) @@ -87,5 +121,30 @@ else exit 255 fi ``` - 当质量门禁不通过时,会终止流水线(退出码:255)。 + +### pipeline脚本使用质量门禁 +以下是pipeline脚本使用质量门禁进行相应操作的示例,你可以在if和else部分写入你想要运行的脚本 + +```pipeline +pipeline{ + agent any + + stages{ + stage('Build'){ + steps{ + TCA(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + script{ + def tca_status = readFile('tca_threshold.txt') + if (tca_status == "success") { + echo ">> tca scan pass!" + } else { + echo ">> tca scan fail! exit code 255" + error("TCA scan failed. Terminating pipeline.") + } + } + } + } + } +} +``` diff --git "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index f1632899d..822daf6f7 100644 --- "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -68,7 +68,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_tca_plugin_config.png) #### 方式二:pipeline语法配置 TCA 插件 -在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考 +在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考(如果从release中获取插件可能会出现 No such DSL method 'TCA'的错误,解决方法可参考 https://github.com/Tencent/CodeAnalysis/issues/1150) ```pipeline pipeline{ @@ -77,7 +77,7 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA_Builder(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) } } } @@ -133,7 +133,7 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA_Builder(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) script{ def tca_status = readFile('tca_threshold.txt') if (tca_status == "success") { From f75cfbf630a6771879d090ea83602512b74e155c Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 14:54:54 +0800 Subject: [PATCH 02/16] Update Jenkins_Plugin.md --- "doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 822daf6f7..59daebb02 100644 --- "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -52,7 +52,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) 在构建任务的【Build】中选择【TCA】插件并配置以下参数: -`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/User/CodeAnalysis) +`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) `团队ID`: 在 TCA 中创建的团队的标识ID,可在TCA【团队概览】中获取“团队唯一标识” `项目名称`: 在 TCA 中创建的项目的标识ID,可在TCA【项目概览】中获取“项目唯一标识” `Token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -77,14 +77,14 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/Users/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) } } } } ``` -`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/User/CodeAnalysis) +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) `teamId`:团队ID `projectName`: 项目名称 `token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -133,7 +133,7 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/Users/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) script{ def tca_status = readFile('tca_threshold.txt') if (tca_status == "success") { From cb0234d1149990122ab748ee1f5e3490aa3e2d6f Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 14:57:21 +0800 Subject: [PATCH 03/16] Update Jenkins_Plugin.md --- "doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 822daf6f7..59daebb02 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -52,7 +52,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) 在构建任务的【Build】中选择【TCA】插件并配置以下参数: -`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/User/CodeAnalysis) +`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) `团队ID`: 在 TCA 中创建的团队的标识ID,可在TCA【团队概览】中获取“团队唯一标识” `项目名称`: 在 TCA 中创建的项目的标识ID,可在TCA【项目概览】中获取“项目唯一标识” `Token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -77,14 +77,14 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/Users/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) } } } } ``` -`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/User/CodeAnalysis) +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) `teamId`:团队ID `projectName`: 项目名称 `token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -133,7 +133,7 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA(codeAnalysisPath: '/zhuay/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/Users/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) script{ def tca_status = readFile('tca_threshold.txt') if (tca_status == "success") { From f9764fb8316c19119faebc9db89e63e765135bcb Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:01:09 +0800 Subject: [PATCH 04/16] Update Jenkins_Plugin.md --- "doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 59daebb02..afa005290 100644 --- "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -84,7 +84,7 @@ pipeline{ } ``` -`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) `teamId`:团队ID `projectName`: 项目名称 `token`: 在 TCA 的【个人中心】->【个人令牌】中获取 From 60de1cb6329a2a9eb0a027b13f7d7098cfe0dec8 Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:02:11 +0800 Subject: [PATCH 05/16] Update Jenkins_Plugin.md --- "doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 59daebb02..afa005290 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -84,7 +84,7 @@ pipeline{ } ``` -`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) `teamId`:团队ID `projectName`: 项目名称 `token`: 在 TCA 的【个人中心】->【个人令牌】中获取 From 5e74d7e4664820dcb6509f3f6f92893a3a03fdf4 Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:24:51 +0800 Subject: [PATCH 06/16] Update Jenkins_Plugin.md --- "doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index afa005290..2d0e447e3 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -52,7 +52,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) 在构建任务的【Build】中选择【TCA】插件并配置以下参数: -`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) +`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis) `团队ID`: 在 TCA 中创建的团队的标识ID,可在TCA【团队概览】中获取“团队唯一标识” `项目名称`: 在 TCA 中创建的项目的标识ID,可在TCA【项目概览】中获取“项目唯一标识” `Token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -77,14 +77,14 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA(codeAnalysisPath: '/Users/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) } } } } ``` -`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis) `teamId`:团队ID `projectName`: 项目名称 `token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -133,7 +133,7 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA(codeAnalysisPath: '/Users/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) script{ def tca_status = readFile('tca_threshold.txt') if (tca_status == "success") { From fd1aa85baa608cbb76ef0b9a68863b8c4c0bd21e Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:26:11 +0800 Subject: [PATCH 07/16] Update Jenkins_Plugin.md --- "doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index afa005290..2d0e447e3 100644 --- "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -52,7 +52,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) 在构建任务的【Build】中选择【TCA】插件并配置以下参数: -`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) +`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis) `团队ID`: 在 TCA 中创建的团队的标识ID,可在TCA【团队概览】中获取“团队唯一标识” `项目名称`: 在 TCA 中创建的项目的标识ID,可在TCA【项目概览】中获取“项目唯一标识” `Token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -77,14 +77,14 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA(codeAnalysisPath: '/Users/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) } } } } ``` -`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/Users/data/CodeAnalysis) +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis) `teamId`:团队ID `projectName`: 项目名称 `token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -133,7 +133,7 @@ pipeline{ stages{ stage('Build'){ steps{ - TCA(codeAnalysisPath: '/Users/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) + TCA(codeAnalysisPath: '/data/CodeAnalysis/', teamId: 'xxxx', projectName: 'demo', token: 'xxxxxxxxxxxx', branchName: 'master', languageType: 'Java', refSchemeID: '1', scanPlan: 'model', threshold: '90', total:true) script{ def tca_status = readFile('tca_threshold.txt') if (tca_status == "success") { From e69d95a1987399a81454c3301c1dccd4c7f6a723 Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:05:14 +0800 Subject: [PATCH 08/16] Update Jenkins_Plugin.md --- "doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 2d0e447e3..b21fac999 100644 --- "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -68,7 +68,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_tca_plugin_config.png) #### 方式二:pipeline语法配置 TCA 插件 -在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考(如果从release中获取插件可能会出现 No such DSL method 'TCA'的错误,解决方法可参考 https://github.com/Tencent/CodeAnalysis/issues/1150) +在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考;注意:如果是release版本v1.11.0及之前的老版本(包含源代码构建生成和release获取)插件,语法参数略有差别,语法参数略有差别,请参考[issue1150](https://github.com/Tencent/CodeAnalysis/issues/1150) ```pipeline pipeline{ From c7ef490746185a56d20140439ae0607fc4398ccc Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:06:07 +0800 Subject: [PATCH 09/16] Update Jenkins_Plugin.md --- "doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 2d0e447e3..b478a3473 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -68,8 +68,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_tca_plugin_config.png) #### 方式二:pipeline语法配置 TCA 插件 -在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考(如果从release中获取插件可能会出现 No such DSL method 'TCA'的错误,解决方法可参考 https://github.com/Tencent/CodeAnalysis/issues/1150) - +在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考注意:如果是release版本v1.11.0及之前的老版本(包含源代码构建生成和release获取)插件,语法参数略有差别,语法参数略有差别,请参考[issue1150](https://github.com/Tencent/CodeAnalysis/issues/1150) ```pipeline pipeline{ agent any From 81aa38c05d39bf721c64e2d3ca92b8d2b5f54642 Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:09:37 +0800 Subject: [PATCH 10/16] Update Jenkins_Plugin.md --- "doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index b478a3473..4d7b5ae8a 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -68,7 +68,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_tca_plugin_config.png) #### 方式二:pipeline语法配置 TCA 插件 -在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考注意:如果是release版本v1.11.0及之前的老版本(包含源代码构建生成和release获取)插件,语法参数略有差别,语法参数略有差别,请参考[issue1150](https://github.com/Tencent/CodeAnalysis/issues/1150) +在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考;注意:如果是release版本v1.11.0及之前的老版本(包含源代码构建生成和release获取)插件,语法参数略有差别,语法参数略有差别,请参考[issue1150](https://github.com/Tencent/CodeAnalysis/issues/1150) ```pipeline pipeline{ agent any From 41d9c2b4ac54e53842cd0c495d87a93d34e90ab8 Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:11:13 +0800 Subject: [PATCH 11/16] Update Jenkins_Plugin.md --- "doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 4d7b5ae8a..f86d24ac2 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -52,7 +52,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) 在构建任务的【Build】中选择【TCA】插件并配置以下参数: -`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis) +`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis/) `团队ID`: 在 TCA 中创建的团队的标识ID,可在TCA【团队概览】中获取“团队唯一标识” `项目名称`: 在 TCA 中创建的项目的标识ID,可在TCA【项目概览】中获取“项目唯一标识” `Token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -83,7 +83,7 @@ pipeline{ } ``` -`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis) +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis/) `teamId`:团队ID `projectName`: 项目名称 `token`: 在 TCA 的【个人中心】->【个人令牌】中获取 From a41b6789347048a60985f6e218d26267147fe22b Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:12:33 +0800 Subject: [PATCH 12/16] Update Jenkins_Plugin.md --- "doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index b21fac999..abfc685a4 100644 --- "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -52,7 +52,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) 在构建任务的【Build】中选择【TCA】插件并配置以下参数: -`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis) +`CodeAnalysis目录绝对路径`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis/) `团队ID`: 在 TCA 中创建的团队的标识ID,可在TCA【团队概览】中获取“团队唯一标识” `项目名称`: 在 TCA 中创建的项目的标识ID,可在TCA【项目概览】中获取“项目唯一标识” `Token`: 在 TCA 的【个人中心】->【个人令牌】中获取 @@ -84,7 +84,7 @@ pipeline{ } ``` -`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis) +`codeAnalysisPath`: 拉取到本地的CodeAnalysis开源仓库目录的绝对路径(例如:/data/CodeAnalysis/) `teamId`:团队ID `projectName`: 项目名称 `token`: 在 TCA 的【个人中心】->【个人令牌】中获取 From 1e51f5baff9ffc9fac54b27ac264c139afee0bce Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:16:23 +0800 Subject: [PATCH 13/16] Update Jenkins_Plugin.md --- "doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index abfc685a4..2d8e74c7e 100644 --- "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -68,7 +68,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_tca_plugin_config.png) #### 方式二:pipeline语法配置 TCA 插件 -在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考;注意:如果是release版本v1.11.0及之前的老版本(包含源代码构建生成和release获取)插件,语法参数略有差别,语法参数略有差别,请参考[issue1150](https://github.com/Tencent/CodeAnalysis/issues/1150) +在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考;注意:如果是release版本v1.11.0及之前的老版本(包含源代码构建生成和release获取)插件,语法参数略有差别,请参考[issue1150](https://github.com/Tencent/CodeAnalysis/issues/1150) ```pipeline pipeline{ From 5a5eff2accfe69171cda0d50247061a00b88bcd1 Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:16:47 +0800 Subject: [PATCH 14/16] Update Jenkins_Plugin.md --- "doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index f86d24ac2..7c9cf8a75 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -68,7 +68,7 @@ Value:`GITPATH` Value:xxxx(路径不包含git) ![](../../../images/jenkins_tca_plugin_config.png) #### 方式二:pipeline语法配置 TCA 插件 -在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考;注意:如果是release版本v1.11.0及之前的老版本(包含源代码构建生成和release获取)插件,语法参数略有差别,语法参数略有差别,请参考[issue1150](https://github.com/Tencent/CodeAnalysis/issues/1150) +在步骤中添加TCA插件参数配置语句,下面的配置语句可作为参考;注意:如果是release版本v1.11.0及之前的老版本(包含源代码构建生成和release获取)插件,语法参数略有差别,请参考[issue1150](https://github.com/Tencent/CodeAnalysis/issues/1150) ```pipeline pipeline{ agent any From 053a00b9c33b689163e5e7a4b8e7002b031cebb0 Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:29:13 +0800 Subject: [PATCH 15/16] Update Jenkins_Plugin.md --- "doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 7c9cf8a75..cf43a247a 100644 --- "a/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/en/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -24,7 +24,7 @@ Jenkins插件有以下两种获取方式: ```shell bash ./scripts/base/install_bin.sh ``` -将`client`目录下的`config.ini`文件中的``替换部署的开源版TCA的IP地址(可包含端口号) +将`client`目录下的`config.ini`文件中的``替换为部署的开源版TCA的IP地址(可包含端口号) ## 使用插件 ### 在 TCA 创建团队和项目 From 772221aef9f0e19f1d7333dbb4743af0d3a3d12e Mon Sep 17 00:00:00 2001 From: zhuay <120068512+zhuay-a@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:37:37 +0800 Subject: [PATCH 16/16] Update Jenkins_Plugin.md --- "doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" index 2d8e74c7e..e7b4a91bb 100644 --- "a/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" +++ "b/doc/zh/guide/\346\217\222\344\273\266/Jenkins_Plugin.md" @@ -24,7 +24,7 @@ Jenkins插件有以下两种获取方式: ```shell bash ./scripts/base/install_bin.sh ``` -将`client`目录下的`config.ini`文件中的``替换部署的开源版TCA的IP地址(可包含端口号) +将`client`目录下的`config.ini`文件中的``替换为部署的开源版TCA的IP地址(可包含端口号) ## 使用插件 ### 在 TCA 创建团队和项目