Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📝 Add CLS help doc #559

Merged
merged 6 commits into from
Aug 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
1 change: 1 addition & 0 deletions doc/.vuepress/configs/sidebar/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ export const en: SidebarConfig = {
'/en/quickStarted/FAQ.md',
'/en/quickStarted/codeDeploy.md',
'/en/quickStarted/dockercomposeDeploy.md',
'/en/quickStarted/enhanceDeploy.md',
],
},
],
Expand Down
1 change: 1 addition & 0 deletions doc/.vuepress/configs/sidebar/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ export const zh: SidebarConfig = {
'/zh/quickStarted/FAQ.md',
'/zh/quickStarted/codeDeploy.md',
'/zh/quickStarted/dockercomposeDeploy.md',
'/zh/quickStarted/enhanceDeploy.md',
],
},
],
Expand Down
12 changes: 6 additions & 6 deletions doc/en/guide/代码检查/工具/eslint.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@
由于 JavaScript 语法、 Vue 语法和 TypeScript 语法之间的区别,三者使用的语法解析器也是不一样的,这里基于其使用的语法解析器的不同,从 Eslint 中拆分出来了 Eslint_vue 和 Eslint_typescript 工具。可以根据需要选择对应工具下的规则进行分析。而配置也会基于类型的不同匹配到对应的工具中。
目前代码分析上 Eslint 类型有:

- JAVASCRIPT
分析 JavaScript 以及基于 JavaScript 写的 React 代码,默认分析文件后缀名为.js,.jsx
- VUE
分析 Vue 框架的代码,默认分析文件后缀名为.vue
- TYPESCRIPT
分析 TypeScript 以及基于 TypeScript 写的 React 代码,默认分析文件后缀名为.ts,tsx
- JAVASCRIPT
分析 JavaScript 以及基于 JavaScript 写的 React 代码,默认分析文件后缀名为.js,.jsx
- VUE
分析 Vue 框架的代码,默认分析文件后缀名为.vue
- TYPESCRIPT
分析 TypeScript 以及基于 TypeScript 写的 React 代码,默认分析文件后缀名为.ts,tsx

### 设置 Globals

Expand Down
92 changes: 92 additions & 0 deletions doc/en/quickStarted/enhanceDeploy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# 增强分析模块部署
TCA 除开集成业界知名的分析工具之外,也有自主研发的独立工具,作为 TCA 的增强分析模块。

TCA 增强分析模块,需要用户额外部署 License 鉴权微服务,并邮件申请 License 。

**注意:License申请完全免费!**

## 概念
- 独立工具:TCA 自主研发的代码分析工具;
- CLS(Common License Server): TCA 独立工具的 License 鉴权微服务。

## 模块功能
- 支持Objective-C/C++代码规范检查;
- 支持分析项目的依赖组件;
- 支持分析依赖组件是否存在漏洞等问题;
- 支持Java/Kotlin API和函数调用链分析;
- 支持代码安全、空指针检查、内存泄漏等规则。

## CLS部署

### 准备
- 一台 CLS 微服务专属机器,CLS 微服务需要跟该机器绑定

### 步骤
1. 在 CLS 目录下执行以下命令,获取 Server ID 和 Client License
```shell
$ ./cls server
2022-04-13 18:35:29.356510559 +0800 CST [INFO] Version: 20220328.1
2022-04-13 18:35:29.44083463 +0800 CST [INFO] The client license is:
xxx
2022-04-13 18:35:29.454552966 +0800 CST [INFO] License Server ID: xxx
```
- Server ID: 机器码,用于跟TCA团队申请License授权
- Client License: 提供给TCA Client, 方便TCA Client进行工具鉴权(重要,建议备份留底)

2. 在 TCA Client 的 config.ini 中配置 CLS 微服务,比如
```ini
[LICENSE_CONFIG]
; [可选]使用独立工具时,需要填写,默认不需要
; License服务器url, base_path, license
URL=http://<IP或者域名>:<port>
BASE_PATH=
LICENSE=<client License>
```

3. 跟 TCA 团队邮件申请 License

- 发送邮箱:
```
v_cocohwang@tencent.com
anjingliu@tencent.com
yalechen@tencent.com
tommyzhang@tencent.com
```

- 格式如下:

TCA独立工具License申请邮件

| | |
| :----: | :----: |
| 申请人名称 | xxx |
| 申请人所在组织名称 | xxx |
| 申请人所在组织类型 | 可选选项:公司/学校/个人 |
| 申请人邮箱 | xxx |
| 申请人手机号码 | xxx |
| 首次登记的机器码 | xxx |
| 体验申请用途 | xxx |

4. 收到 TCA 团队回复邮件之后,在 CLS 目录下的[config.yaml](config.yaml)文件中填写License
注意!请遵从yaml格式,比如:
- 键值对中,冒号 `:` 后面一定要跟一个空白字符,示例 `key: value`.

5. 执行以下命令启动
```shell
./cls server -d
```

6. 启动 TCA 分析任务

### 运维
#### 自动重启
```shell
# 查找CLS进程ID
ps aux|grep cls
# 重启微服务
kill -USR2 <pid>
```

## 使用

在 TCA 对应项目的分析方案里面勾选名称以 `TCA-Armory` 开头的工具的规则。
92 changes: 92 additions & 0 deletions doc/zh/quickStarted/enhanceDeploy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# 增强分析模块部署
TCA 除开集成业界知名的分析工具之外,也有自主研发的独立工具,作为 TCA 的增强分析模块。

TCA 增强分析模块,需要用户额外部署 License 鉴权微服务,并邮件申请 License 。

**注意:License申请完全免费!**

## 概念
- 独立工具:TCA 自主研发的代码分析工具;
- CLS(Common License Server): TCA 独立工具的 License 鉴权微服务。

## 模块功能
- 支持Objective-C/C++代码规范检查;
- 支持分析项目的依赖组件;
- 支持分析依赖组件是否存在漏洞等问题;
- 支持Java/Kotlin API和函数调用链分析;
- 支持代码安全、空指针检查、内存泄漏等规则。

## CLS部署

### 准备
- 一台 CLS 微服务专属机器,CLS 微服务需要跟该机器绑定

### 步骤
1. 在 CLS 目录下执行以下命令,获取 Server ID 和 Client License
```shell
$ ./cls server
2022-04-13 18:35:29.356510559 +0800 CST [INFO] Version: 20220328.1
2022-04-13 18:35:29.44083463 +0800 CST [INFO] The client license is:
xxx
2022-04-13 18:35:29.454552966 +0800 CST [INFO] License Server ID: xxx
```
- Server ID: 机器码,用于跟TCA团队申请License授权
- Client License: 提供给TCA Client, 方便TCA Client进行工具鉴权(重要,建议备份留底)

2. 在 TCA Client 的 config.ini 中配置 CLS 微服务,比如
```ini
[LICENSE_CONFIG]
; [可选]使用独立工具时,需要填写,默认不需要
; License服务器url, base_path, license
URL=http://<IP或者域名>:<port>
BASE_PATH=
LICENSE=<client License>
```

3. 跟 TCA 团队邮件申请 License

- 发送邮箱:
```
v_cocohwang@tencent.com
anjingliu@tencent.com
yalechen@tencent.com
tommyzhang@tencent.com
```

- 格式如下:

TCA独立工具License申请邮件

| | |
| :----: | :----: |
| 申请人名称 | xxx |
| 申请人所在组织名称 | xxx |
| 申请人所在组织类型 | 可选选项:公司/学校/个人 |
| 申请人邮箱 | xxx |
| 申请人手机号码 | xxx |
| 首次登记的机器码 | xxx |
| 体验申请用途 | xxx |

4. 收到 TCA 团队回复邮件之后,在 CLS 目录下的[config.yaml](config.yaml)文件中填写License
注意!请遵从yaml格式,比如:
- 键值对中,冒号 `:` 后面一定要跟一个空白字符,示例 `key: value`.

5. 执行以下命令启动
```shell
./cls server -d
```

6. 启动 TCA 分析任务

### 运维
#### 自动重启
```shell
# 查找CLS进程ID
ps aux|grep cls
# 重启微服务
kill -USR2 <pid>
```

## 使用

在 TCA 对应项目的分析方案里面勾选名称以 `TCA-Armory` 开头的工具的规则。