diff --git a/README.md b/README.md index a5acac89f6cef9c9eaafb0f0e98fd54a99238b9f..d248883caa38f0e480292819f1bc18cf1c693d43 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,8 @@ Pipeline solution to support building, deploying and automating any software pro DevKit各原子能力对接Gitlab流水线的脚本范例及使用说明 1. [Gitlab流水线配置DevKit迁移、亲和门禁](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/gitlab安装部署/Gitlab流水线配置迁移、亲和门禁.md) 2. [DevKit测试平台安装部署与Gitlab集成部署指导手册](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/测试平台安装部署/devkit测试平台安装部署与gitlab集成部署指导手册.md) -3. [Jenkins流水线无感切换bisheng编译器](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/无感切换/无感切换与gitlab集成部署指导手册.md) -4. [Jenkins流水线配置Java性能分析](document/gitlab安装部署/Gitlab流水线配置Java性能分析.md) +3. [Gitlab流水线无感切换bisheng编译器](https://gitee.com/openeuler/devkit-pipeline/blob/master/document/无感切换/无感切换与gitlab集成部署指导手册.md) +4. [Gitlab流水线配置Java性能分析](document/gitlab安装部署/Gitlab流水线配置Java性能分析.md) ###### Docker镜像生成 diff --git "a/document/DockerFile\351\205\215\347\275\256/00_\344\270\213\350\275\275\350\265\204\346\272\220.png" "b/document/DockerFile\351\205\215\347\275\256/00_\344\270\213\350\275\275\350\265\204\346\272\220.png" new file mode 100644 index 0000000000000000000000000000000000000000..3a4b4a86ce198c6f0dbe50de2c20b21e7d134d38 Binary files /dev/null and "b/document/DockerFile\351\205\215\347\275\256/00_\344\270\213\350\275\275\350\265\204\346\272\220.png" differ diff --git "a/document/DockerFile\351\205\215\347\275\256/Docker\351\225\234\345\203\217\347\224\237\346\210\220\346\211\213\345\206\214.md" "b/document/DockerFile\351\205\215\347\275\256/Docker\351\225\234\345\203\217\347\224\237\346\210\220\346\211\213\345\206\214.md" index 9dd9cf96deb6c7b59ebf3a079a404039e5b09994..92e7c5ae6595aae44ebb3493ac2d27d077b99fb1 100644 --- "a/document/DockerFile\351\205\215\347\275\256/Docker\351\225\234\345\203\217\347\224\237\346\210\220\346\211\213\345\206\214.md" +++ "b/document/DockerFile\351\205\215\347\275\256/Docker\351\225\234\345\203\217\347\224\237\346\210\220\346\211\213\345\206\214.md" @@ -9,7 +9,7 @@ from openeuler-20.03-lts-sp2:latest WORKDIR /root ADD lkp-tests.tar.gz /root/.local/ -ADD devkit_distribute.tar.gz /root/.local/lkp-tests/programs +ADD devkit_distribute.tar.gz /root/.local/ ADD compatibility_testing.tar.gz /root/.local/ COPY gem_dependencies.zip /usr/share/gems/gems/gem_dependencies.zip RUN chmod 755 /root/.local/lkp-tests/programs/devkit_distribute/bin/start.sh && \ @@ -38,6 +38,7 @@ concurrent-ruby-1.1.10.gem ci_reporter-2.0.0.gem bundler-2.2.33.gem builder-3.2. #### 下载包到同一目录 +![](00_下载资源.png) ![](01_准备资源.png) #### 执行构建命令 diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/Devkit_Distribute\347\246\273\347\272\277\345\256\211\350\243\205\346\210\220\345\212\237.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/Devkit_Distribute\347\246\273\347\272\277\345\256\211\350\243\205\346\210\220\345\212\237.png" index e2b7453dd96ce5d53f95a991c41eeb7bf6f902ed..584726e033825b4c3b4cc1643fb60d93ae808c72 100644 Binary files "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/Devkit_Distribute\347\246\273\347\272\277\345\256\211\350\243\205\346\210\220\345\212\237.png" and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/Devkit_Distribute\347\246\273\347\272\277\345\256\211\350\243\205\346\210\220\345\212\237.png" differ diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.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/DevkitPerformanceAnalysis.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24103.png" index d6bb3872707f7cfbd847cdcd4fcaee463f4e310b..08cf2640448c57bd3d27766d387fdb7ce3838a55 100644 Binary files "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\345\210\233\345\273\272Pipeline\344\273\273\345\212\24103.png" and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.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/DevkitPerformanceAnalysis.assets/\345\256\211\350\243\205\346\210\220\345\212\237.png" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\345\256\211\350\243\205\346\210\220\345\212\237.png" index 4f4584ad41d601235abfd5d6d735590531cebe25..9b8b178d0f0f9ecb18130983adfa7de1715c6b1e 100644 Binary files "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\345\256\211\350\243\205\346\210\220\345\212\237.png" and "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\345\256\211\350\243\205\346\210\220\345\212\237.png" differ 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\256Java\346\200\247\350\203\275\345\210\206\346\236\220.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\256Java\346\200\247\350\203\275\345\210\206\346\236\220.md" index aa14e20aec28cf8d79187f4ffa2a3c78908a0171..2edec14bcf8a75047088be6128aced86120295b5 100644 --- "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\256Java\346\200\247\350\203\275\345\210\206\346\236\220.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\256Java\346\200\247\350\203\275\345\210\206\346\236\220.md" @@ -12,15 +12,9 @@ stage('Java Performance Analysis') { set -e CURDIR=$(pwd) # 删除上次jmeter产生的报告 (jmeter 命令-l、-o指定的文件和路径) - sudo rm -rf /home/test/report /home/test/result.html - # 设置java性能采集必要的选项 - sudo bash /root/.local/lkp-tests/programs/devkit_distribute/bin/generate_lkptest_config.sh -i 160.0.1.2,160.0.1.3 -u root -f /home/Jenkens/id_rsa -D 160.0.1.5 -a spring-boot -d 10 -g /home/Jenkens/spring-boot -j "sh /home/test/apache-jmeter-5.6.3/bin/jmeter.sh -nt /home/test/Test_request.jmx -l /home/test/result.html -eo /home/test/report" - # 通过lkp命令生成devkit_distribute-defaults.yaml - sudo /root/.local/lkp-tests/bin/lkp split-job /root/.local/lkp-tests/programs/devkit_distribute/config/devkit_distribute.yaml - # 运行 - sudo /root/.local/lkp-tests/bin/lkp run ${CURDIR}/devkit_distribute-defaults.yaml - # 判断 是否执行成功 - sudo bash /root/.local/lkp-tests/programs/devkit_distribute/bin/parsing_result.sh + rm -rf /home/zpp/report /home/zpp/result.html + # 运行java性能采集 + /home/zpp/.local/devkit_distribute/bin/entrance -i 160.0.1.2,160.0.1.3 -u root -f /home/zpp/.ssh/id_rsa -D 160.0.1.5 -a spring-boot -d 10 -g /home/zpp/spring-boot -j "sh /home/zpp/apache-jmeter-5.6.3/bin/jmeter.sh -nt /home/zpp/Test_request.jmx -l /home/zpp/result.html -eo /home/zpp/report" ''' } post { @@ -28,7 +22,7 @@ stage('Java Performance Analysis') { publishHTML(target: [allowMissing: false, alwaysLinkToLastBuild: false, keepAll : true, - reportDir : '/root/.local/lkp-tests/programs/devkit_distribute/data', + reportDir : '/home/zpp/.local/devkit_distribute/data', reportFiles : 'devkit_performance_report.html', reportName : 'Java Performance Report'] ) @@ -37,7 +31,7 @@ stage('Java Performance Analysis') { } ``` -**generate_lkptest_config**脚本具体参数如下 +**entrance**具体参数如下 | 参数 | 参数类型 | 参数说明 | |----|-----------|----------------------------------------------------------------------------------------------------------------------------------------| @@ -51,15 +45,15 @@ stage('Java Performance Analysis') { | -D | ipv4 | 必选参数。Devkit工具的地址。 | | -P | num | 可选参数。Devkit工具的端口,默认值8086。 | | -U | str | 可选参数。Devkit工具的用户名,默认值devadmin。 | -| -W | str | 可选参数。Devkit工具的密码,默认值admin100。 | +| -W | str | 可选参数。Devkit工具的密码,默认值devkit123。 | ### 二. 配置示例 #### 1. 安装java分发采集命令行工具到执行jenkins执行机 -##### 1.1 使用deploy_tool命令安装 +##### 1.1 使用deploy_tool命令安装角色executor -[通过devkitpipeline部署工具部署](../批量部署工具/批量部署工具devkitpipeline.md) +[通过deploy_tool部署工具部署executor](../批量部署工具/批量部署工具和一键下载工具说明文档.md) 安装完成后查看 @@ -67,27 +61,19 @@ stage('Java Performance Analysis') { ##### 1.2 离线安装 -###### 1.2.1 确定lkp-test已经安装 - -如果没有安装,参考[lkp-test离线安装](../测试平台安装部署/devkit测试平台安装部署与jenkins集成部署指导手册.md#一-安装指导) -。以下确定lkp-test是否安装。 - -![lkp_test是否存在校验.png](DevkitPerformanceAnalysis.assets/lkp_test是否存在校验.png) - -###### 1.2.2 下载离线包,后执行以下命令 +###### 1.2.1 下载离线包 发行版中下载**最新**的devkit_distribute.tar.gz ![下载Devkit_Distribute](DevkitPerformanceAnalysis.assets/下载Devkit_Distribute.png) -执行以下命令: +###### 1.2.2 执行以下命令: ```shell - tar --no-same-owner -zxf devkit_distribute.tar.gz -C "${HOME}"/.local/lkp-tests/programs - chmod 755 "${HOME}"/.local/lkp-tests/programs/devkit_distribute/bin/start.sh - ln -s "${HOME}"/.local/lkp-tests/programs/devkit_distribute/bin/start.sh "${HOME}"/.local/lkp-tests/tests/devkit_distribute + mkdir -p "${HOME}"/.local + tar --no-same-owner -zxf devkit_distribute.tar.gz -C "${HOME}"/.local/ ``` -安装成功: +###### 1.2.3 安装成功: ![Devkit_Distribute离线安装成功.png](DevkitPerformanceAnalysis.assets/Devkit_Distribute离线安装成功.png) #### 2. 确定需要采集的java程序所在机器存在jcmd命令 diff --git "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/02_\347\274\226\345\206\231\346\265\201\346\260\264\347\272\277.png" "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/02_\347\274\226\345\206\231\346\265\201\346\260\264\347\272\277.png" index 68ad9e6a48191bdd38b75ae40d9ede19d688a5fa..5283893a6303f47429376812b7f776837166e8cb 100644 Binary files "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/02_\347\274\226\345\206\231\346\265\201\346\260\264\347\272\277.png" and "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/02_\347\274\226\345\206\231\346\265\201\346\260\264\347\272\277.png" differ diff --git "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/03_\346\237\245\347\234\213\346\265\201\346\260\264\347\272\277.png" "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/03_\346\237\245\347\234\213\346\265\201\346\260\264\347\272\277.png" index b601e9a5d701c2d4dfe07fb27af6d0c133e47add..06e9c8fcb1fed68069b92ba1c263578278eeb23e 100644 Binary files "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/03_\346\237\245\347\234\213\346\265\201\346\260\264\347\272\277.png" and "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/03_\346\237\245\347\234\213\346\265\201\346\260\264\347\272\277.png" differ diff --git "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/Devkit_Distribute\347\246\273\347\272\277\345\256\211\350\243\205\346\210\220\345\212\237.png" "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/Devkit_Distribute\347\246\273\347\272\277\345\256\211\350\243\205\346\210\220\345\212\237.png" new file mode 100644 index 0000000000000000000000000000000000000000..584726e033825b4c3b4cc1643fb60d93ae808c72 Binary files /dev/null and "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/Devkit_Distribute\347\246\273\347\272\277\345\256\211\350\243\205\346\210\220\345\212\237.png" differ diff --git "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\344\270\213\350\275\275Devkit_Distribute.png" "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\344\270\213\350\275\275Devkit_Distribute.png" new file mode 100644 index 0000000000000000000000000000000000000000..989ba8ef52a110d892bb1fe3ef57871c5057bda4 Binary files /dev/null and "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\344\270\213\350\275\275Devkit_Distribute.png" differ diff --git "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\345\256\211\350\243\205\346\210\220\345\212\237.png" "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\345\256\211\350\243\205\346\210\220\345\212\237.png" index 4f4584ad41d601235abfd5d6d735590531cebe25..9b8b178d0f0f9ecb18130983adfa7de1715c6b1e 100644 Binary files "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\345\256\211\350\243\205\346\210\220\345\212\237.png" and "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/DevkitPerformanceAnalysis.assets/\345\256\211\350\243\205\346\210\220\345\212\237.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\256Java\346\200\247\350\203\275\345\210\206\346\236\220.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\256Java\346\200\247\350\203\275\345\210\206\346\236\220.md" index 19cfa148f4dba1bca88656eee1af466d1a0a2e50..2a242ebd8b9514b70998aad7a093bd1e203b62d5 100644 --- "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\256Java\346\200\247\350\203\275\345\210\206\346\236\220.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\256Java\346\200\247\350\203\275\345\210\206\346\236\220.md" @@ -1,9 +1,7 @@ -## Jenkins Pipeline 中集成 Java性能分析 +## gitlab中集成Java性能分析 ### 一. Java性能分析 -##### 源码迁移: - ``` stages: - build @@ -18,15 +16,10 @@ source-code-migration: - echo '====== Java Performance Analysis ======' - CURDIR=$(pwd) # 删除上次jmeter产生的报告 (jmeter 命令-l、-o指定的文件和路径) - sudo rm -rf /home/test/report /home/test/result.html - # 设置java性能采集必要的选项 - - sudo bash /root/.local/lkp-tests/programs/devkit_distribute/bin/generate_lkptest_config.sh -i 160.0.1.2,160.0.1.3 -u root -f /home/Jenkens/id_rsa -D 160.0.1.5 -a spring-boot -d 10 -g /home/Jenkens/spring-boot -j "sh /home/test/apache-jmeter-5.6.3/bin/jmeter.sh -nt /home/test/Test_request.jmx -l /home/test/result.html -eo /home/test/report" - - source /etc/profile - - sudo /root/.local/lkp-tests/bin/lkp split-job /root/.local/lkp-tests/programs/devkit_distribute/config/devkit_distribute.yaml - # 判断 是否执行成功 - - sudo bash /root/.local/lkp-tests/programs/devkit_distribute/bin/parsing_result.sh - - sudo /root/.local/lkp-tests/bin/lkp run ${CURDIR}/devkit_distribute-defaults.yaml - - cp /root/.local/lkp-tests/programs/devkit_distribute/data/devkit_distribute-defaults.yaml ${CURDIR} + - rm -rf /home/zpp/report /home/zpp/result.html + # 运行java性能采集 + - /home/zpp/.local//devkit_distribute/bin/entrance -i 160.0.1.2,160.0.1.3 -u root -f /home/zpp/.ssh/id_rsa -D 160.0.1.5 -a spring-boot -d 10 -g /home/zpp/spring-boot -j "sh /home/zpp/apache-jmeter-5.6.3/bin/jmeter.sh -nt /home/zpp/Test_request.jmx -l /home/zpp/result.html -eo /home/zpp/report" + - cp /home/zpp/.local/devkit_distribute/data/devkit_distribute-defaults.yaml ${CURDIR} artifacts: paths: # 上传报告 @@ -35,7 +28,7 @@ source-code-migration: ``` -**generate_lkptest_config**脚本具体参数如下 +**entrance**具体参数如下 | 参数 | 参数类型 | 参数说明 | |----|-----------|----------------------------------------------------------------------------------------------------------------------------------------| @@ -49,18 +42,38 @@ source-code-migration: | -D | ipv4 | 必选参数。Devkit工具的地址。 | | -P | num | 可选参数。Devkit工具的端口,默认值8086。 | | -U | str | 可选参数。Devkit工具的用户名,默认值devadmin。 | -| -W | str | 可选参数。Devkit工具的密码,默认值admin100。 | +| -W | str | 可选参数。Devkit工具的密码,默认值devkit123。 | ### 二. 配置示例 #### 1. 安装java分发采集命令行工具到执行jenkins执行机 -[通过devkitpipeline部署工具部署](../../document/%E6%89%B9%E9%87%8F%E9%83%A8%E7%BD%B2%E5%B7%A5%E5%85%B7/%E6%89%B9%E9%87%8F%E9%83%A8%E7%BD%B2%E5%B7%A5%E5%85%B7%E5%92%8C%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD%E5%B7%A5%E5%85%B7%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md#devkitpipeline-%E6%89%B9%E9%87%8F%E9%83%A8%E7%BD%B2%E5%B7%A5%E5%85%B7) +##### 1.1 使用deploy_tool命令安装角色executor + +[通过deploy_tool部署工具部署executor](../批量部署工具/批量部署工具和一键下载工具说明文档.md) 安装完成后查看 ![安装成功](./DevkitPerformanceAnalysis.assets/安装成功.png) +##### 1.2 离线安装 + +###### 1.2.1 下载离线包 + +发行版中下载**最新**的devkit_distribute.tar.gz +![下载Devkit_Distribute](DevkitPerformanceAnalysis.assets/下载Devkit_Distribute.png) + +###### 1.2.2 执行以下命令: + +```shell + mkdir -p "${HOME}"/.local + tar --no-same-owner -zxf devkit_distribute.tar.gz -C "${HOME}"/.local/ +``` + +###### 1.2.3 安装成功: + +![Devkit_Distribute离线安装成功.png](DevkitPerformanceAnalysis.assets/Devkit_Distribute离线安装成功.png) + #### 2. 确定需要采集的java程序所在机器存在jcmd命令 ##### 2.1 检查jcmd命令是否存在