diff --git a/README.md b/README.md
index e1a2379fbb51f5b7b0ed2fc90e0bc25080128870..a4566b90df89ae5975d66d317fce13aea6d36dc5 100644
--- a/README.md
+++ b/README.md
@@ -10,8 +10,10 @@ Pipeline solution to support building, deploying and automating any software pro
1. [下载工具和部署工具使用文档](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/批量部署工具/批量部署工具devkitpipeline.md)
2. [安装部署Jenkins](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/Jenkins安装部署/安装部署Jenkins.md)
-3. [安装部署Gitlab](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/gitlab安装部署/gitlab安装部署.md)
-4. [手动安装lkp-test](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/lkp-test安装部署/lkp-tests安装部署.md)
+3. [Jenkins流水线配置迁移、亲和门禁](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/Jenkins安装部署/Jenkins流水线配置迁移、亲和门禁.md)
+4. [安装部署Gitlab](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/gitlab安装部署/gitlab安装部署.md)
+5. [Gitlab流水线配置迁移、亲和门禁](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/Gitlab流水线配置迁移、亲和门禁.md)
+6. [手动安装lkp-test](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/lkp-test安装部署/lkp-tests安装部署.md)
#### 参与贡献
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/Jenkins\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/Jenkins\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..028d6d683adea592abfb2df81717e2cc6562df36
--- /dev/null
+++ "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/Jenkins\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md"
@@ -0,0 +1,524 @@
+
《鲲鹏 DevKit CLI 与 Jenkins 集成部署指导手册》
+
+
+
+
+
+[TOC]
+
+------
+
+## 一、Jenkins Pipeline 中集成 DevKit CLI
+
+**命令行各任务模块命令解释:**
+
+应用迁移包含软件迁移评估、源码迁移和系统迁移,其命令行返回值如下:
+
+\##### 命令行状态码含义
+| 状态码 | 触发情况 |
+| ------ | ------------------------------------------ |
+| 0 | 无扫描建议 |
+| 1 | 扫描结果只存在建议项 |
+| 2 | 扫描任务出现Ctrl+C(SIGINT(2)) |
+| 3 | 扫描结果超时 |
+| 4 | 扫描命令错误 |
+| 5 | 扫描结果存在必须修改项 |
+| 15/20 | 扫描任务出现Ctrl+Z SIGTERM(15)/SIGTSTP(20) |
+
+- ##### 软件迁移评估:
+
+
+```groovy
+# devkit porting pkg-mig -i 待扫描软件包 -r 输出报告格式
+# 示例 devkit porting pkg-mig -i impala-2.9.0+cdh5.12.1+0-1.cdh5.12.1.p0.3.el7.x86_64.rpm -r html
+
+stage('software-migration-assessment') {
+ steps {
+ echo '====== 软件迁移评估 ======'
+ sh '''
+ /usr/bin/rm -rf ./*.html
+ devkit porting pkg-mig -i impala-2.9.0+cdh5.12.1+0-1.cdh5.12.1.p0.3.el7.x86_64.rpm -r html
+ mv ./pkg-mig*.html ./SoftwareMigrationAssessment.html
+ '''
+ }
+ post {
+ always {
+ publishHTML(target: [allowMissing: false,
+ alwaysLinkToLastBuild: false,
+ keepAll : true,
+ reportDir : '.',
+ reportFiles : 'SoftwareMigrationAssessment.html',
+ reportName : 'SoftwareMigrationAssessment Report']
+ )
+ }
+ }
+ }
+```
+
+具体参数如下
+
+| 参数 | 参数选项 | 参数说明 |
+| ---------------- | ----------------- | ------------------------------------------------------------ |
+| -i/--input | package_path | 必选参数。待扫描的软件包路径,若存在多个扫描路径需使用英文逗号分割。例如:/home/test1.jar, /home/test2.jar。 |
+| -t/--target-os | target-os | 可选参数。待扫描的目标操作系统。 |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。任务日志级别。0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告 |
+
+- ##### 源码迁移:
+
+
+```groovy
+ # devkit porting src-mig -i 待扫描源码的文件夹或压缩包路径 -c 源码的构建命令 -r 输出报告格式
+ # 示例 devkit porting src-mig -i ./wtdbg2 -c make -r html
+
+stage('source-code-migration') {
+ steps {
+ echo '====== 源码迁移 ======'
+ sh '''
+ /usr/bin/rm -rf ./*.html
+ devkit porting src-mig -i ./wtdbg2 -c make -r html
+ mv ./src-mig*.html ./SourceCodeScanningReport.html
+ '''
+ }
+ post {
+ always {
+ publishHTML(target: [allowMissing: false,
+ alwaysLinkToLastBuild: false,
+ keepAll : true,
+ reportDir : '.',
+ reportFiles : 'SourceCodeScanningReport.html',
+ reportName : 'Source Code Scanning Report']
+ )
+ }
+ }
+ }
+
+```
+
+具体参数如下
+
+| 参数 | 参数选项 | 参数说明 |
+| --------------------- | --------------------------------- | ------------------------------------------------------------ |
+| -i/--input-path | path | 必选参数。待扫描源码的文件夹或压缩包路径,若存在多个扫描路径需使用英文逗号分割。例如:/home/test1,/home/test2。 |
+| -c/--cmd | cmd | 必选参数。源码的构建命令。例如:make all。 |
+| -s/--source-type | c,c++,asm,fortran,go, interpreted | 可选参数。待扫描源码类型。 |
+| -t/--target-os | target-os | 可选参数。迁移的目标操作系统。如果用户不输入则默认为当前操作系统。例如:bclinux7.7。 |
+| -p/--compiler | gcc,clang | 可选参数。编译器版本。默认为选定目标操作系统的默认GCC版本。例如:gcc7.8.5 |
+| -f/--fortran-compiler | flang-ver | 可选参数。fortran代码的编译器版本。默认为flang2.5.0.1。 |
+| -b/--build-tool | make,cmake,automake,go | 可选参数。构建工具。默认make,只有在--source-type中没有c/c++/asm/fortran并且包含go时可以选go。 |
+| -o/--output | /home/test/report | 可选参数。扫描报告的存放地址和文件名称。默认存放在当前执行路径下,名称默认为功能名_时间戳_uuid(4位)。 |
+| --set-timeout | time | 可选参数。命令行的超时时间。默认无超时时间。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。设置日志级别。0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。 扫描报告的格式。默认为all,选择all的时候json、csv和html报告都会生成。 |
+| --ignore | /opt/ignore.json | 可选参数。屏蔽扫描规则信息。 |
+
+-
+ ##### 系统迁移:
+
+```groovy
+# devkit porting sys-mig
+# 示例 devkit porting sys-mig -c stnt -cf porting/resources/sysmig default.conf
+
+stage('system-migration') {
+ steps {
+ echo '====== 系统迁移 ======'
+ sh '''
+ /usr/bin/rm -rf ./*.html
+ devkit porting sys-mig -c stnt -cf porting/resources/sysmig default.conf
+ mv ./sbom*.html ./SystemMigration.html
+ '''
+ }
+ post {
+ always {
+ publishHTML(target: [allowMissing: false,
+ alwaysLinkToLastBuild: false,
+ keepAll : true,
+ reportDir : '.',
+ reportFiles : 'SystemMigration.html',
+ reportName : 'SystemMigration Report']
+ )
+ }
+ }
+ }
+```
+
+具体参数如下(均为可选参数)
+
+| 参数 | 参数选项 | 说明 |
+| ------------------- | -------------------- | ------------------------------------------------------------ |
+| -c/--command | stmt/sbom | 收集信息的模式。stmt:收集台账信息。sbom:收集sbom信息。 |
+| -cf/--config | configure_file_path | 输入参数配置文件路径。 |
+| -d/--directory | scan_path | 输入扫描文件目录,支持输入多个目录,多个目录间以空格分隔。 |
+| -t/--template | stmt_template_path | stmt模式参数,输入台账扫描结果模板路径,默认按照程序内置模板生成扫描结果。 |
+| -o/--output | report_dir | 报告输出目录,默认为二进制所在report目录。 |
+| -f/--format | html/json | sbom模式参数,输入生成报告格式,支持选择html、json格式,可以选择多个报告格式,默认为HTML格式,多个报告格式以空格间隔。 |
+| -e/--exclude-fields | version/checkOutPath | sbom模式参数,表示需要隐藏的参数信息,可选参数范围:version和checkOutPath,支持同时选择。version表示成分版本号checkOutPath表示成分检出路径,多个参数信息以空格间隔。 |
+| -v/--version | - | 展示程序版本信息,无输入参数。 |
+| -h/--help | - | 帮助查询,无输入参数。 |
+| -l/--log-level | 0,1,2,3 | 日志等级,可选参数:0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+
+- ##### 64位运行模式检查:
+
+```groovy
+# devkit advisor mode-check -i 待扫描的软件包路径
+# 示例 devkit advisor mode-check -i /opt/DevKit/testcase/affinity/precheck/test005
+
+stage('64-bit-running-mode-check') {
+ steps {
+ echo '====== 64位运行模式 ======'
+ sh '''
+ /usr/bin/rm -rf ./*.html
+ devkit advisor mode-check -i /opt/DevKit/testcase/affinity/precheck/test005
+ mv ./mode-check*.html ./64-bit-running-mode-check.html
+ '''
+ }
+ post {
+ always {
+ publishHTML(target: [allowMissing: false,
+ alwaysLinkToLastBuild: false,
+ keepAll : true,
+ reportDir : '.',
+ reportFiles : '64-bit-running-mode-check.html',
+ reportName : '64-bit-running-mode-check Report']
+ )
+ }
+ }
+ }
+
+```
+
+具体参数如下
+
+| 参数 | 参数选项 | 参数说明 |
+| ---------------- | ----------------- | ------------------------------------------------------------ |
+| -i/--input | package_path | 必选参数。待扫描的软件包路径,若存在多个扫描路径需使用英文逗号分割。例如:/home/test1.jar, /home/test2.jar。 |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。日志等级,0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告。 |
+
+- ##### 字节对齐检查:
+
+```groovy
+# devkit advisor byte-align -i 待扫描的软件包路径 -c 源码构建命令 -b 构建工具
+# 示例 devkit advisor byte-align -i /opt/DevKit/wtdbg2-2.5 -c make -b make
+
+stage('byte-alignment-check') {
+ steps {
+ echo '====== 字节对齐检查 ======'
+ sh '''
+ /usr/bin/rm -rf ./*.html
+ devkit advisor byte-align -i /opt/DevKit/wtdbg2-2.5 -c make -b make
+ mv ./byte-align*.html ./byte-alignment-check.html
+ '''
+ }
+ post {
+ always {
+ publishHTML(target: [allowMissing: false,
+ alwaysLinkToLastBuild: false,
+ keepAll : true,
+ reportDir : '.',
+ reportFiles : 'byte-alignment-check.html',
+ reportName : 'byte-alignment-check Report']
+ )
+ }
+ }
+ }
+```
+
+具体参数如下
+
+| 参数 | 参数选项 | 参数说明 |
+| ---------------- | ------------------- | ------------------------------------------------------------ |
+| -i/--input | package_path | 必选参数。待扫描的软件包路径,若存在多个扫描路径需使用英文逗号分割。例如:/home/test1.jar, /home/test2.jar。 |
+| -c/--cmd | cmd | 必选参数。源码构建命令。在服务器中正常执行的构建命令,命令中如有空格,要使用单引号包住。 |
+| -b/--build-tool | make,cmake,automake | 必选参数。构建工具。当前工具支持make,cmake,automake,默认选项为make。 如-c make -b make 、-c cmake -b cmake 、-c make -b automake |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。日志等级,0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告。 |
+
+-
+ ##### 内存一致性检查:
+
+```groovy
+ # devkit advisor mem-cons -i BC文件对应的源码文件路径 -f BC文件路径
+ # 示例 devkit advisor mem-cons -i /opt/DevKit/testcase/affinity/weak_cons/test-mulbc_sort -f /opt/DevKit/testcase/affinity/weak_cons/bc_file
+
+stage('memory-consistency-check') {
+ agent {
+ label 'Linux_aarch64'
+ }
+ steps {
+ echo '====== 内存一致性检查 ======'
+ sh '''
+ /usr/bin/rm -rf ./*.html
+ devkit advisor mem-cons -i /opt/DevKit/testcase/affinity/weak_cons/test-mulbc_sort -f /opt/DevKit/testcase/affinity/weak_cons/bc_file
+ mv ./mem-cons*.html ./memory-consistency-check.html
+ '''
+ }
+ post {
+ always {
+ publishHTML(target: [allowMissing: false,
+ alwaysLinkToLastBuild: false,
+ keepAll : true,
+ reportDir : '.',
+ reportFiles : 'memory-consistency-check.html',
+ reportName : 'memory-consistency-check Report']
+ )
+ }
+ }
+ }
+```
+
+具体参数如下
+
+| 参数 | 参数选项 | 参数说明 |
+| ---------------- | ----------------- | ------------------------------------------------------------ |
+| -i/--input | package_path | 必选参数。BC文件对应的源码文件路径。例如:/home/test |
+| -f/--bc-file | path | 必选参数。BC文件路径,该路径下必须存在BC文件。例如:/home/testbc |
+| --autofix | true/false | 可选参数。是否生成编译器配置文件。默认为false。 |
+| --autofix-dir | path | 可选参数。编译器配置文件的存放地址。默认生成在工具目录下的源码文件夹下,使用--autofix且参数必须为true时才能生效。 |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。日志等级,0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告。 |
+
+- ##### 向量化检查:
+
+```groovy
+# devkit advisor vec-check -i BC文件对应的源码文件路径 -f BC文件路径 -c 源码的构建命令
+# 示例 devkit advisor vec-check -i /opt/DevKit/testcase/affinity/vec/simple -f /opt/DevKit/testcase/affinity/vec/BCfiles -c make
+
+stage('vectorized-check') {
+ steps {
+ echo '====== 内存一致性检查 ======'
+ sh '''
+ /usr/bin/rm -rf ./*.html
+ devkit advisor vec-check -i /opt/DevKit/testcase/affinity/vec/simple -f /opt/DevKit/testcase/affinity/vec/BCfiles -c make
+ mv ./vec-check*.html ./vectorized-check.html
+ '''
+ }
+ post {
+ always {
+ publishHTML(target: [allowMissing: false,
+ alwaysLinkToLastBuild: false,
+ keepAll : true,
+ reportDir : '.',
+ reportFiles : 'vectorized-check.html',
+ reportName : 'vectorized-check Report']
+ )
+ }
+ }
+ }
+```
+
+具体参数如下
+
+| 参数 | 参数选项 | 参数说明 |
+| ---------------- | ----------------- | ------------------------------------------------------------ |
+| -i/--input | package_path | 必选参数。BC文件对应的源码文件路径。例如:/home/test |
+| -f/--bc-file | path | 必选参数。BC文件路径,该路径下必须存在BC文件。例如:/home/testbc |
+| -c/--cmd | cmd | 必选参数。源码的构建命令。例如:make all |
+| -p/--compiler | gcc,clang | 可选参数。编译器。默认为clang。例如:gcc。 |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。日志等级,0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告。 |
+| --sve-enable | true,false | 可选参数。是否启用sve。默认不开启。 |
+
+
+
+### 1. 示例在Jenkins中配置命令行创建 Pipeline 任务:
+
+> 下文使用到的 Jenkins Pipeline 样例脚本『有关 `devkit` 命令行用法,请使用以下命令查看 HELP 手册: `devkit --help`』
+>
+> ```groovy
+> pipeline {
+> agent any
+> options {
+> timeout(time: 1, unit: 'HOURS')
+> }
+> parameters {
+> string(name: 'GIT_URL', defaultValue: 'https://github.com/ruanjue/wtdbg2.git', description: '--> git url <--')
+> string(name: 'GIT_BRANCH', defaultValue: 'v2.5', description: '--> code branch <--')
+> string(name: 'GIT_TARGET_DIR_NAME', defaultValue: 'wtdbg2', description: '--> code branch <--')
+> }
+> stages{
+> stage('Git Clone Code') {
+> agent {
+> label 'Linux_aarch64'
+> }
+> steps {
+> echo '====== 获取源码 ======'
+> checkout scmGit(branches: [[name: "${params.GIT_BRANCH}"]],
+> browser: github("${params.GIT_URL}"),
+> extensions: [[$class: 'RelativeTargetDirectory',
+> relativeTargetDir: "${params.GIT_TARGET_DIR_NAME}"],
+> cleanBeforeCheckout(deleteUntrackedNestedRepositories: true)],
+> userRemoteConfigs: [[url: "${params.GIT_URL}"]])
+> }
+> }
+> stage('PARALLEL BUILD') {
+> parallel {
+> stage('Kunpeng') {
+> agent {
+> label 'Linux_aarch64'
+> }
+> stages{
+> stage('source-code-migration') {
+> steps {
+> echo '====== 源码迁移 ======'
+> sh '''
+> /usr/bin/rm -rf ./*.html
+> devkit porting src-mig -i ./wtdbg2 -c make -r html
+> mv ./src-mig*.html ./SourceCodeScanningReport.html
+> '''
+> }
+> post {
+> always {
+> publishHTML(target: [allowMissing: false,
+> alwaysLinkToLastBuild: false,
+> keepAll : true,
+> reportDir : '.',
+> reportFiles : 'SourceCodeScanningReport.html',
+> reportName : 'Source Code Scanning Report']
+> )
+> }
+> }
+> }
+> stage('Affinity Scanning') {
+> steps {
+> echo '====== 构建亲和 ======'
+> sh '''
+> devkit advisor constr-check -i ./wtdbg2 -c make -r html
+> mv ./constr-check*.html ./ConstrCheckReport.html
+> '''
+> }
+> post {
+> always {
+> publishHTML(target: [allowMissing: false,
+> alwaysLinkToLastBuild: false,
+> keepAll : true,
+> reportDir : '.',
+> reportFiles : 'ConstrCheckReport.html',
+> reportName : 'Affinity Scanning Report']
+> )
+> }
+> }
+> }
+> }
+> }
+> }
+> }
+> }
+> }
+> ```
+
+
+
+----
+
+### 2. 执行任务
+
+
+
+----
+
+### 3. 查看任务执行状态
+
+- ##### 传统方式查看任务执行状态
+
+ 
+
+- ##### 现代方式查看任务执行状态
+
+ 
+
+
+----
+
+### 4. FAQ
+
+当使用 Jenkins **Snippet Generator** 的 **checkout: Check out from version control** 模板时出现下图错误时,可尝试使用以下解决方案。
+
+
+
+```shell
+#=====================================================================================================================#
+# Git 忽略证书校验
+git config --global http.sslVerify false
+#---------------------------------------------------------------------------------------------------------------------#
+# 如果您的环境设置了系统网络代理,建议执行以下命令
+git config --global http.proxy "${http_proxy}" && git config --global https.proxy "${http_proxy}"
+#---------------------------------------------------------------------------------------------------------------------#
+# 拷贝当前用户目录下 .gitconfig 文件到 /var/lib/jenkins/
+cp "${HOME}"/.gitconfig /var/lib/jenkins/
+#---------------------------------------------------------------------------------------------------------------------#
+# 修改文件的所属用户及用户组为 jenkins
+chown jenkins:jenkins /var/lib/jenkins/.gitconfig
+#=====================================================================================================================#
+```
+
+------
+
+## 二、查阅报告
+
+### 1. 查阅报告
+
+ **①** 传统方式
+
+
+
+ **②** 现代方式
+
+
+
+- ##### 源码迁移报告
+
+ 
+
+- ##### 构建亲和分析报告
+
+ 
+
+----
+
+### 2. FAQ
+
+> 相关问题根因参考链接:
+>
+> [https://www.jenkins.io/doc/book/security/user-content/](https://www.jenkins.io/doc/book/security/user-content/)
+> [https://www.jenkins.io/doc/book/security/configuring-content-security-policy/](https://www.jenkins.io/doc/book/security/configuring-content-security-policy/)
+> [https://content-security-policy.com/](https://content-security-policy.com/)
+
+**当查看报告时,如下图样式显示异常时,可采用以下方案解决此问题。**
+
+
+
+- ##### 临时解决方案(重启后失效)
+
+ ```shell
+ System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'none'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' 'unsafe-inline'; data:;")
+ ```
+
+ 
+
+- ##### 永久解决方案(重启后设置继续生效)
+
+ ```shell
+ #=====================================================================================================================#
+ # 将 /usr/lib/systemd/system/jenkins.service 文件中 Environment="JAVA_OPTS=-Djava.awt.headless=true" 选项进行替换
+ sed -i 's/Environment="JAVA_OPTS=-Djava.awt.headless=true"/Environment="JAVA_OPTS=-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=\\"default-src \x27none\x27; script-src \x27self\x27 \x27unsafe-inline\x27; style-src \x27self\x27 \x27unsafe-inline\x27; img-src \x27self\x27 \x27unsafe-inline\x27; data:;\\""/g' /usr/lib/systemd/system/jenkins.service
+ #---------------------------------------------------------------------------------------------------------------------#
+ # 重新加载 systemd 管理器配置
+ systemctl daemon-reload
+ #---------------------------------------------------------------------------------------------------------------------#
+ # 重启 Jenkins 服务
+ systemctl restart jenkins.service
+ #=====================================================================================================================#
+ ```
+
+------
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_CONTENT_SECURITY_POLICY01.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_CONTENT_SECURITY_POLICY01.png"
new file mode 100644
index 0000000000000000000000000000000000000000..d070b7c2d1688a482cb82be996dd464276fe6f4b
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_CONTENT_SECURITY_POLICY01.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_CONTENT_SECURITY_POLICY02.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_CONTENT_SECURITY_POLICY02.png"
new file mode 100644
index 0000000000000000000000000000000000000000..cb12edec62c80f77fd869d0c325f04a6e5806275
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_CONTENT_SECURITY_POLICY02.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_GIT_SSL_VERIFY.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_GIT_SSL_VERIFY.png"
new file mode 100644
index 0000000000000000000000000000000000000000..df632e4a0a58174a46183a60564cd33c91df0e18
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/FAQ_JENKINS_GIT_SSL_VERIFY.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25601.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25601.png"
new file mode 100644
index 0000000000000000000000000000000000000000..62e72c3a4dd5ce91c9916d78ccb1bda2b8c5303e
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25601.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25602.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25602.png"
new file mode 100644
index 0000000000000000000000000000000000000000..da3ea6394e1ba31a2aeee21119c62c075460c969
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25602.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25603.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25603.png"
new file mode 100644
index 0000000000000000000000000000000000000000..d986836480dda79cd771114be361262bb420c0ca
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25603.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25605.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25605.png"
new file mode 100644
index 0000000000000000000000000000000000000000..155089f770f96a1d67b7ae08e01a4afb1325638d
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25605.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25606.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25606.png"
new file mode 100644
index 0000000000000000000000000000000000000000..c6ca4ababb1b6db0629cf87caa51c664e9037ebe
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\210\235\345\247\213\345\214\226\350\256\276\347\275\25606.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\267\245\344\275\234\350\212\202\347\202\271\350\277\236\346\216\245\345\244\261\350\264\245FAQ.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\267\245\344\275\234\350\212\202\347\202\271\350\277\236\346\216\245\345\244\261\350\264\245FAQ.png"
new file mode 100644
index 0000000000000000000000000000000000000000..799b2640619f266a4ad115accf3263ace4d7f8a1
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/Jenkins\345\267\245\344\275\234\350\212\202\347\202\271\350\277\236\346\216\245\345\244\261\350\264\245FAQ.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\270\264\346\227\266\346\226\255\345\274\200\350\212\202\347\202\271.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\270\264\346\227\266\346\226\255\345\274\200\350\212\202\347\202\271.png"
new file mode 100644
index 0000000000000000000000000000000000000000..f24df60561b21d356b25b276f68f24f35836842a
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\270\264\346\227\266\346\226\255\345\274\200\350\212\202\347\202\271.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\274\240\347\273\237\346\226\271\345\274\217\346\237\245\347\234\213\344\273\273\345\212\241\346\211\247\350\241\214\347\212\266\346\200\201.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\274\240\347\273\237\346\226\271\345\274\217\346\237\245\347\234\213\344\273\273\345\212\241\346\211\247\350\241\214\347\212\266\346\200\201.png"
new file mode 100644
index 0000000000000000000000000000000000000000..3ae381a4d4bf8705a4d02f202d811b1711de8479
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\274\240\347\273\237\346\226\271\345\274\217\346\237\245\347\234\213\344\273\273\345\212\241\346\211\247\350\241\214\347\212\266\346\200\201.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\274\240\347\273\237\346\226\271\345\274\217\346\237\245\351\230\205\346\212\245\345\221\212.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\274\240\347\273\237\346\226\271\345\274\217\346\237\245\351\230\205\346\212\245\345\221\212.png"
new file mode 100644
index 0000000000000000000000000000000000000000..06f61b0a19329bf47497b0a8882813c85a2e7e9b
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\344\274\240\347\273\237\346\226\271\345\274\217\346\237\245\351\230\205\346\212\245\345\221\212.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24101.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24101.png"
new file mode 100644
index 0000000000000000000000000000000000000000..68322ea0bd37c61eda6f4d24fad1a9588878188a
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24101.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24102.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24102.png"
new file mode 100644
index 0000000000000000000000000000000000000000..d59c9c50f5eebef0ac575e98cbcffa152c3c1a9f
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24102.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24103.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24103.png"
new file mode 100644
index 0000000000000000000000000000000000000000..ff9bf5aa0a936e30d9e42e39d69624eb0850a4e4
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24103.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\234\250\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26601.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\234\250\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26601.png"
new file mode 100644
index 0000000000000000000000000000000000000000..9eaf381dfc1a79fbe18213e0879aadf34e4c2cf9
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\234\250\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26601.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\234\250\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26602.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\234\250\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26602.png"
new file mode 100644
index 0000000000000000000000000000000000000000..d719cdd10c6e709652f6dc0e869d1335a6212a99
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\234\250\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26602.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\256\211\350\243\205SafeRestart\346\217\222\344\273\26602.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\256\211\350\243\205SafeRestart\346\217\222\344\273\26602.png"
new file mode 100644
index 0000000000000000000000000000000000000000..eb504b03b56b236de7e62a8a1e0aee3f80bb21e5
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\256\211\350\243\205SafeRestart\346\217\222\344\273\26602.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25601.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25601.png"
new file mode 100644
index 0000000000000000000000000000000000000000..bbc24f2efcd45cbee0bcef2124c23a8dd16404f9
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25601.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25603.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25603.png"
new file mode 100644
index 0000000000000000000000000000000000000000..84a394ff5117e125c773a83d740af01b3e001d4d
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25603.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25604.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25604.png"
new file mode 100644
index 0000000000000000000000000000000000000000..5ef966fd59135a467add953c41d834add71b6104
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\345\267\245\344\275\234\350\212\202\347\202\271\350\256\276\347\275\25604.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\211\247\350\241\214\344\273\273\345\212\241.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\211\247\350\241\214\344\273\273\345\212\241.png"
new file mode 100644
index 0000000000000000000000000000000000000000..52c148022f93ce4b5fbdeb0eddf156dc337b0f62
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\211\247\350\241\214\344\273\273\345\212\241.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\236\204\345\273\272\344\272\262\345\222\214\345\210\206\346\236\220\346\212\245\345\221\212.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\236\204\345\273\272\344\272\262\345\222\214\345\210\206\346\236\220\346\212\245\345\221\212.png"
new file mode 100644
index 0000000000000000000000000000000000000000..525264cbef8d524e74d5bbd81802301a46e5a7a8
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\236\204\345\273\272\344\272\262\345\222\214\345\210\206\346\236\220\346\212\245\345\221\212.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\345\207\255\346\215\256\345\210\260DevKit\345\207\255\346\215\256\345\237\237\344\270\213.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\345\207\255\346\215\256\345\210\260DevKit\345\207\255\346\215\256\345\237\237\344\270\213.png"
new file mode 100644
index 0000000000000000000000000000000000000000..8e3608d56dcb56e1cd2bff3a32a2827baa503543
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\345\207\255\346\215\256\345\210\260DevKit\345\207\255\346\215\256\345\237\237\344\270\213.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\351\262\262\351\271\217DevKitJenkinsCI\346\217\222\344\273\266\345\207\255\346\215\256\345\237\23701.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\351\262\262\351\271\217DevKitJenkinsCI\346\217\222\344\273\266\345\207\255\346\215\256\345\237\23701.png"
new file mode 100644
index 0000000000000000000000000000000000000000..7c920b8ce5faf6cf9d1a2fc581c062ccad734114
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\351\262\262\351\271\217DevKitJenkinsCI\346\217\222\344\273\266\345\207\255\346\215\256\345\237\23701.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\351\262\262\351\271\217DevKitJenkinsCI\346\217\222\344\273\266\345\207\255\346\215\256\345\237\23702.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\351\262\262\351\271\217DevKitJenkinsCI\346\217\222\344\273\266\345\207\255\346\215\256\345\237\23702.png"
new file mode 100644
index 0000000000000000000000000000000000000000..41201afca2b6e5df9c28fc24d488160e9a26f11f
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\267\273\345\212\240\351\262\262\351\271\217DevKitJenkinsCI\346\217\222\344\273\266\345\207\255\346\215\256\345\237\23702.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\272\220\347\240\201\350\277\201\347\247\273\346\212\245\345\221\212.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\272\220\347\240\201\350\277\201\347\247\273\346\212\245\345\221\212.png"
new file mode 100644
index 0000000000000000000000000000000000000000..8d6f3f3b645c497a8423af69d1602df8ba4ad5f1
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\346\272\220\347\240\201\350\277\201\347\247\273\346\212\245\345\221\212.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\216\260\344\273\243\346\226\271\345\274\217\346\237\245\347\234\213\344\273\273\345\212\241\346\211\247\350\241\214\347\212\266\346\200\201.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\216\260\344\273\243\346\226\271\345\274\217\346\237\245\347\234\213\344\273\273\345\212\241\346\211\247\350\241\214\347\212\266\346\200\201.png"
new file mode 100644
index 0000000000000000000000000000000000000000..4346f2af34ec59550ba2905e111135f536e09bed
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\216\260\344\273\243\346\226\271\345\274\217\346\237\245\347\234\213\344\273\273\345\212\241\346\211\247\350\241\214\347\212\266\346\200\201.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\216\260\344\273\243\346\226\271\345\274\217\346\237\245\351\230\205\346\212\245\345\221\212.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\216\260\344\273\243\346\226\271\345\274\217\346\237\245\351\230\205\346\212\245\345\221\212.png"
new file mode 100644
index 0000000000000000000000000000000000000000..918d460c1195f7f6e13a8ed1ac2b6af887707b4f
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\216\260\344\273\243\346\226\271\345\274\217\346\237\245\351\230\205\346\212\245\345\221\212.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26601.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26601.png"
new file mode 100644
index 0000000000000000000000000000000000000000..4966e7f173d8c895385c9fc1d4dcd5c3ed09c03a
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26601.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26602.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26602.png"
new file mode 100644
index 0000000000000000000000000000000000000000..c8c5e21dd6e61950033c44944c58faaa8ab34085
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26602.png" differ
diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26603.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26603.png"
new file mode 100644
index 0000000000000000000000000000000000000000..29324a46ebd8d9d00061d333020e0c732b904c5a
Binary files /dev/null and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\351\262\262\351\271\217DevKitCLI\344\270\216Jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.assets/\347\246\273\347\272\277\345\256\211\350\243\205HTMLPublisher\346\217\222\344\273\26603.png" differ
diff --git "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/Gitlab\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md" "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/Gitlab\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..868f9a29b596ecf91e0fa72bf97ba2e5913f92c3
--- /dev/null
+++ "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/Gitlab\346\265\201\346\260\264\347\272\277\351\205\215\347\275\256\350\277\201\347\247\273\343\200\201\344\272\262\345\222\214\351\227\250\347\246\201.md"
@@ -0,0 +1,246 @@
+《gitlab流水线迁移、亲和命令行配置》
+
+##### 命令行状态码含义
+| 状态码 | 触发情况 |
+| ------------ | ------------ |
+| 0 | 无扫描建议 |
+| 1 | 扫描结果只存在建议项 |
+| 2 | 扫描任务出现Ctrl+C(SIGINT(2)) |
+| 3 | 扫描结果超时 |
+| 4 | 扫描命令错误 |
+| 5 | 扫描结果存在必须修改项 |
+| 15/20 | 扫描任务出现Ctrl+Z SIGTERM(15)/SIGTSTP(20) |
+
+##### 软件迁移评估:
+
+```
+stages:
+ - build
+ - migrating-applications
+
+software-migration-assessment:
+ stage: migrating-applications
+ tags:
+ - kunpeng_builder # 对应gitlab-runner注册时的标签,可选择多个
+ script:
+ - echo '====== 软件迁移评估 ======'
+ - devkit porting pkg-mig -i 待扫描软件包 -r html || [ $? -eq 1 ] && echo 'Warning:扫描报告包含建议项'
+
+ # 示例 devkit porting pkg-mig -i impala-2.9.0+cdh5.12.1+0-1.cdh5.12.1.p0.3.el7.x86_64.rpm -r html || [ $? -eq 1 ] && echo 'Warning:扫描报告包含建议项'
+ artifacts:
+ paths:
+ - pkg-mig*.html # 文件后缀.html根据-r参数配置,也可配置为 pkg-mig*.*
+
+
+```
+具体参数如下
+
+| 参数 | 参数选项 | 参数说明 |
+| ------------ | ------------ | ------------ |
+| -i/--input | package_path | 必选参数。待扫描的软件包路径,若存在多个扫描路径需使用英文逗号分割。例如:/home/test1.jar, /home/test2.jar。 |
+| -t/--target-os | target-os | 可选参数。待扫描的目标操作系统。|
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。任务日志级别。0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告 |
+
+##### 源码迁移:
+
+```
+stages:
+ - build
+ - migrating-applications
+
+source-code-migration:
+ stage: migrating-applications
+ tags:
+ - kunpeng_builder # 对应gitlab-runner注册时的标签,可选择多个
+ script:
+ - echo '====== 源码迁移 ======'
+ - devkit porting src-mig -i 待扫描源码的文件夹或压缩包路径 -c 源码的构建命令 -r html || [ $? -eq 1 ] && echo 'Warning:扫描报告包含建议项'
+
+ # 示例 devkit porting src-mig -i wtdbg2-2.5 -c make -r html || [ $? -eq 1 ] && echo 'Warning:扫描报告包含建议项'
+ artifacts:
+ paths:
+ - src-mig*.html # 文件后缀.html根据-r参数配置,也可配置为 src-mig*.*
+
+```
+具体参数如下
+| 参数 | 参数选项 | 参数说明 |
+| ------------ | ------------ | ------------ |
+| -i/--input-path | path | 必选参数。待扫描源码的文件夹或压缩包路径,若存在多个扫描路径需使用英文逗号分割。例如:/home/test1,/home/test2。 |
+| -c/--cmd | cmd | 必选参数。源码的构建命令。例如:make all。 |
+| -s/--source-type | c,c++,asm,fortran,go, interpreted | 可选参数。待扫描源码类型。 |
+| -t/--target-os | target-os | 可选参数。迁移的目标操作系统。如果用户不输入则默认为当前操作系统。例如:bclinux7.7。 |
+| -p/--compiler | gcc,clang | 可选参数。编译器版本。默认为选定目标操作系统的默认GCC版本。例如:gcc7.8.5 |
+| -f/--fortran-compiler | flang-ver | 可选参数。fortran代码的编译器版本。默认为flang2.5.0.1。 |
+| -b/--build-tool | make,cmake,automake,go | 可选参数。构建工具。默认make,只有在--source-type中没有c/c++/asm/fortran并且包含go时可以选go。 |
+| -o/--output | /home/test/report | 可选参数。扫描报告的存放地址和文件名称。默认存放在当前执行路径下,名称默认为功能名_时间戳_uuid(4位)。 |
+| --set-timeout | time | 可选参数。命令行的超时时间。默认无超时时间。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。设置日志级别。0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。 扫描报告的格式。默认为all,选择all的时候json、csv和html报告都会生成。 |
+| --ignore | /opt/ignore.json | 可选参数。屏蔽扫描规则信息。 |
+
+
+##### 系统迁移:
+```
+stages:
+ - build
+ - migrating-applications
+
+system-migration:
+ stage: migrating-applications
+ tags:
+ - kunpeng_builder # 对应gitlab-runner注册时的标签,可选择多个
+ script:
+ - echo '====== 系统迁移 ======'
+ - devkit porting sys-mig -o ./ || [ $? -eq 1 ] && echo 'Warning:扫描报告包含建议项'
+
+ # 示例 devkit porting sys-mig -c stnt -cf porting/resources/sysmig default.conf -o ./ || [ $? -eq 1 ] && echo 'Warning:扫描报告包含建议项'
+ artifacts:
+ paths:
+ - s*.*
+
+
+```
+具体参数如下(均为可选参数)
+| 参数 | 参数选项 | 说明 |
+| ------------ | ------------ | ------------ |
+| -c/--command | stmt/sbom | 收集信息的模式。stmt:收集台账信息。sbom:收集sbom信息。 |
+| -cf/--config | configure_file_path | 输入参数配置文件路径。 |
+| -d/--directory | scan_path | 输入扫描文件目录,支持输入多个目录,多个目录间以空格分隔。 |
+| -t/--template | stmt_template_path | stmt模式参数,输入台账扫描结果模板路径,默认按照程序内置模板生成扫描结果。 |
+| -o/--output | report_dir | 报告输出目录,默认为二进制所在report目录。 |
+| -f/--format | html/json | sbom模式参数,输入生成报告格式,支持选择html、json格式,可以选择多个报告格式,默认为HTML格式,多个报告格式以空格间隔。 |
+| -e/--exclude-fields | version/checkOutPath | sbom模式参数,表示需要隐藏的参数信息,可选参数范围:version和checkOutPath,支持同时选择。version表示成分版本号checkOutPath表示成分检出路径,多个参数信息以空格间隔。 |
+| -v/--version | - | 展示程序版本信息,无输入参数。 |
+| -h/--help | - | 帮助查询,无输入参数。 |
+| -l/--log-level | 0,1,2,3 | 日志等级,可选参数:0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+
+##### 64位运行模式检查:
+```
+stages:
+ - build
+ - affinity-analysis
+
+64-bit-running-mode-check:
+ stage: affinity-analysis
+ tags:
+ - kunpeng_builder # 对应gitlab-runner注册时的标签,可选择多个
+ script:
+ - echo '====== 64位运行模式检查 ======'
+ - devkit advisor mode-check -i 待扫描的软件包路径 -r html
+
+ # 示例 devkit advisor mode-check -i /opt/DevKit/testcase/affinity/precheck/test005 -r html
+ artifacts:
+ paths:
+ - mode-check*.html # 文件后缀.html根据-r参数配置,也可配置为 mode-check*.*
+
+
+```
+具体参数如下
+| 参数 | 参数选项 | 参数说明 |
+| ------------ | ------------ | ------------ |
+| -i/--input | package_path | 必选参数。待扫描的软件包路径,若存在多个扫描路径需使用英文逗号分割。例如:/home/test1.jar, /home/test2.jar。 |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。日志等级,0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告。 |
+
+##### 字节对齐检查:
+```
+stages:
+ - build
+ - affinity-analysis
+
+byte-alignment-check:
+ stage: affinity-analysis
+ tags:
+ - kunpeng_builder # 对应gitlab-runner注册时的标签,可选择多个
+ script:
+ - echo '====== 字节对齐检查 ======'
+ - devkit advisor byte-align -i 待扫描的软件包路径 -c 源码构建命令 -b 构建工具 -r html
+
+ # 示例 devkit advisor byte-align -i /opt/DevKit/wtdbg2-2.5 -c make -b make -r html
+ artifacts:
+ paths:
+ - byte-align*.html # 文件后缀.html根据-r参数配置,也可配置为 byte-align*.*
+
+```
+具体参数如下
+| 参数 | 参数选项 | 参数说明 |
+| ------------ | ------------ | ------------ |
+| -i/--input | package_path | 必选参数。待扫描的软件包路径,若存在多个扫描路径需使用英文逗号分割。例如:/home/test1.jar, /home/test2.jar。 |
+| -c/--cmd | cmd | 必选参数。源码构建命令。在服务器中正常执行的构建命令,命令中如有空格,要使用单引号包住。 |
+| -b/--build-tool | make,cmake,automake | 必选参数。构建工具。当前工具支持make,cmake,automake,默认选项为make。 如-c make -b make 、-c cmake -b cmake 、-c make -b automake |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。日志等级,0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告。 |
+
+
+##### 内存一致性检查:
+```
+stages:
+ - build
+ - affinity-analysis
+
+memory-consistency-check:
+ stage: affinity-analysis
+ tags:
+ - kunpeng_builder # 对应gitlab-runner注册时的标签,可选择多个
+ script:
+ - echo '====== 内存一致性检查 ======'
+ - devkit advisor mem-cons -i BC文件对应的源码文件路径 -f BC文件路径 -r html
+
+ # 示例 devkit advisor mem-cons -i /opt/DevKit/testcase/affinity/weak_cons/test-mulbc_sort -f /opt/DevKit/testcase/affinity/weak_cons/bc_file -r html
+ artifacts:
+ paths:
+ - mem-cons*.html # 文件后缀.html根据-r参数配置,也可配置为 mem-cons*.*
+```
+具体参数如下
+| 参数 | 参数选项 | 参数说明 |
+| ------------ | ------------ | ------------ |
+| -i/--input | package_path | 必选参数。BC文件对应的源码文件路径。例如:/home/test |
+| -f/--bc-file | path | 必选参数。BC文件路径,该路径下必须存在BC文件。例如:/home/testbc |
+| --autofix | true/false | 可选参数。是否生成编译器配置文件。默认为false。 |
+| --autofix-dir | path | 可选参数。编译器配置文件的存放地址。默认生成在工具目录下的源码文件夹下,使用--autofix且参数必须为true时才能生效。 |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。日志等级,0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告。 |
+
+##### 向量化检查:
+```
+stages:
+ - build
+ - affinity-analysis
+
+vectorized-check:
+ stage: affinity-analysis
+ tags:
+ - kunpeng_builder # 对应gitlab-runner注册时的标签,可选择多个
+ script:
+ - echo '====== 向量化检查 ======'
+ - devkit advisor vec-check -i BC文件对应的源码文件路径 -f BC文件路径 -c 源码的构建命令 -r html
+
+ # 示例 devkit advisor vec-check -i /opt/DevKit/testcase/affinity/vec/simple -f /opt/DevKit/testcase/affinity/vec/BCfiles -c make -r html
+ artifacts:
+ paths:
+ - vec-check*.html # 文件后缀.html根据-r参数配置,也可配置为 vec-check*.*
+
+```
+具体参数如下
+| 参数 | 参数选项 | 参数说明 |
+| ------------ | ------------ | ------------ |
+| -i/--input | package_path | 必选参数。BC文件对应的源码文件路径。例如:/home/test |
+| -f/--bc-file | path | 必选参数。BC文件路径,该路径下必须存在BC文件。例如:/home/testbc |
+| -c/--cmd | cmd | 必选参数。源码的构建命令。例如:make all |
+| -p/--compiler | gcc,clang | 可选参数。编译器。默认为clang。例如:gcc。 |
+| -o/--output | output_path | 可选参数。报告存放路径。报告默认存放在当前执行路径下,名称默认为“特性名称_时间戳”。 |
+| --set-timeout | time | 可选参数。任务超时时间。默认无超时时间,任务将持续执行直到结束。 |
+| -l/--log-level | 0,1,2,3 | 可选参数。日志等级,0(DEBUG)、1(INFO)、2(WARNING)、3(ERROR),默认为1(INFO)。 |
+| -r/--report-type | all,json,html,csv | 可选参数。扫描报告的格式。默认为all,即默认生成json、html、csv三种报告。 |
+| --sve-enable | true,false | 可选参数。是否启用sve。默认不开启。 |
+
+