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'] +> ) +> } +> } +> } +> } +> } +> } +> } +> } +> } +> ``` + +![创建Pipeline任务01](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/创建Pipeline任务01.png)![创建Pipeline任务02](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/创建Pipeline任务02.png)![创建Pipeline任务03](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/创建Pipeline任务03.png) + +---- + +### 2. 执行任务 + +![执行任务](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/执行任务.png) + +---- + +### 3. 查看任务执行状态 + +- ##### 传统方式查看任务执行状态 + + ![传统方式查看任务执行状态](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/传统方式查看任务执行状态.png) + +- ##### 现代方式查看任务执行状态 + + ![现代方式查看任务执行状态](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/现代方式查看任务执行状态.png) + + +---- + +### 4. FAQ + +当使用 Jenkins **Snippet Generator** 的 **checkout: Check out from version control** 模板时出现下图错误时,可尝试使用以下解决方案。 + +![FAQ_JENKINS_GIT_SSL_VERIFY](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/FAQ_JENKINS_GIT_SSL_VERIFY.png) + +```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. 查阅报告 + + **①** 传统方式 + +![传统方式查阅报告](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/传统方式查阅报告.png) + + **②** 现代方式 + +![现代方式查阅报告](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/现代方式查阅报告.png) + +- ##### 源码迁移报告 + + ![源码迁移报告](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/源码迁移报告.png) + +- ##### 构建亲和分析报告 + + ![构建亲和分析报告](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/构建亲和分析报告.png) + +---- + +### 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/) + +**当查看报告时,如下图样式显示异常时,可采用以下方案解决此问题。** + +![FAQ_JENKINS_CONTENT_SECURITY_POLICY01](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/FAQ_JENKINS_CONTENT_SECURITY_POLICY01.png) + +- ##### 临时解决方案(重启后失效) + + ```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:;") + ``` + + ![FAQ_JENKINS_CONTENT_SECURITY_POLICY02](./鲲鹏DevKitCLI与Jenkins集成部署指导手册.assets/FAQ_JENKINS_CONTENT_SECURITY_POLICY02.png) + +- ##### 永久解决方案(重启后设置继续生效) + + ```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。默认不开启。 | + +