---
title: 批量安装工具
description: "DevKit Pipeline是批量安装工具，用户可以根据需要安装门禁扫描、编译、测试、病毒扫描相关的工具到工作节点。"
url: https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/install/NativeDevelopment_0075.html
sourcePath: /source/zh/nativedevp/userguide/install/NativeDevelopment_0075.html
indexId: 7ddc6da7e354ae3203037e0421001e6a2527fc49eb1df1c6b3e5794bec44492467
---
# 批量安装工具

DevKit Pipeline是批量安装工具，用户可以根据需要安装门禁扫描、编译、测试、病毒扫描相关的工具到工作节点。

若想一次性批量安装所有的工具，可通过DevKit Pipeline工具在Master节点批量安装工具到工作节点上。

#### 操作步骤

1. 以root用户登录Master节点，请参见获取软件包(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/preparations/Develop_0188.html)获取devkit-pipeline-v1.1.tar.gz软件包，并上传到鲲鹏服务器，以安装目录“/home/pipeline”为例。
2. 解压软件包。

```
cd
/home/pipeline
tar -zxvf devkit-pipeline-v1.1.tar.gz
```

解压后“linux”文件夹下有以下文件。

  - deploy_tool：批量安装工具
  - download_tool：一键下载工具
  - machine.yaml：配置文件
  - script_generator：生成Jenkins、GitLab流水线运行模板
工具详细介绍请参见download_tool(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/devpipecli/NativeDevelopment_0129.html)、deploy_tool(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/devpipecli/NativeDevelopment_0131.html)、script_generator(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/devpipecli/NativeDevelopment_0132.html)。
3. 进入“linux”文件夹，编辑machine.yaml文件，在machine.yaml文件中配置各组件安装所在的工作节点IP地址以及其他信息。

```
cd devkit-pipeline-v1.1/linux/
vim machine.yaml
```


  源码仓提供的machine.yaml配置文件模板为：

```
user: root
pkey: /root/.ssh/id_rsa
scanner:
- 192.168.0.1
- 192.168.0.2
- 192.168.0.3
c_builder_gcc:
- 192.168.0.2
c_builder_bisheng_compiler:
- 192.168.0.2
java_builder_jdk8:
- 192.168.0.1
java_builder_jdk17:
- 192.168.0.1
compatibility:
- 192.168.0.1
tester:
- 192.168.0.3
devkit:
- 192.168.0.3
clamav:
- 192.168.0.3
```


  user：当前节点连接其他节点配置免密的用户名。 pkey：配置免密所用公钥对应的私钥路径。 scanner：DevKit CLI扫描节点。 c_builder_gcc：GCC for openEuler构建节点。 c_builder_bisheng_compiler：毕昇编译器构建节点。 java_builder_jdk8：毕昇JDK 8构建节点。 java_builder_jdk17：毕昇JDK 17构建节点。 请用户自行选择安装JDK，不建议在同一环境下同时安装毕昇JDK 8和毕昇JDK 17，若在同一环境下安装，只有一个JDK生效。 compatibility：兼容性测试执行节点。 devkit：DevKit Web工作节点。 clamav：ClamAV病毒扫描执行节点。 tester：Java性能测试执行节点。 scanner、java_builder_jdk8、java_builder_jdk17、c_builder_gcc、c_builder_bisheng_compiler、compatibility、devkit、clamav、tester均为角色名称，需按照模板格式，以yaml列表的形式输入对应的IP地址。请用户根据实际安装角色的服务器IP地址填写，不需要安装的工具可以删除对应角色，安装所有角色的服务器可以为同一台服务器。

4. 配置Master节点到各工作节点的免密，不同工作节点和用户均需要执行当前操作。

  a. 使用RSA协议生成公私钥对。

```
ssh-keygen -t rsa
```


    生成公私钥对命令参考：ssh-keygen [-b bits] [-t rsa] [-f output_keyfile] -b：指定bytes长度。 -t：指定生成的密钥类型。 -f：指定公私钥文件名。

    执行命令后，回显信息会提示用户输入生成公私钥对所用密码，若输入密码，则后续批量安装工具在运行时需要用户手动输入密码，或在machine.yaml配置文件中新增一行password参数并填入公私钥对所用密码。

  b. 配置Master节点免密连接各工作节点。

```
ssh-copy-id -i
/root/.ssh/id_rsa.pub
USER
@
REMOTE_HOST
```


    -i：指定用户配置免密的公钥路径。 USER：工作节点用户名。 REMOTE_HOST：工作节点IP地址。

    执行命令后提示输入工作节点用户密码，输入密码后公钥被复制到工作节点的authorized_keys文件中，实现免密登录工作节点。若上述IP地址中出现本机IP地址，或想要本机到本机的安装，则需要配置本机到本机的免密登录。

5. （可选）以root用户登录工作节点，在工作节点上配置sudo权限与sudo免密。若使用普通用户安装兼容性测试的执行节点、DevKit CLI的扫描节点、ClamAV的病毒扫描执行节点或者DevKit Web的工作节点上需要配置，其他情况请跳过。
执行visudo命令修改“/etc/sudoers”文件。

```
visudo -f /etc/sudoers
```


  a. 普通用户（USER）配置sudo权限，需在“/etc/sudoers”文件中参照“root ALL=(ALL) ALL”新增一行。

```
root    ALL=(ALL)       ALL
USER
ALL=(ALL)       NOPASSWD: ALL
```


  b. 普通用户（USER）配置sudo免密，需在“/etc/sudoers”文件中参照“# %wheel ALL=(ALL) NOPASSWD: ALL”新增一行。

```
# %wheel        ALL=(ALL)       NOPASSWD: ALL
USER
ALL=(ALL)       NOPASSWD: ALL
```


6. （可选）以root用户登录安装A-FOT工具的工作节点，使用yum安装“perf”命令，A-FOT工具为c_builder_gcc角色。

```
yum install perf -y
```


  无网络情况下请配置本地镜像源后，再执行yum install perf -y安装“perf”命令。 配置本地镜像源请参见配置操作系统yum/apt/zypper源(https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/devkit_24_t50/Plugins_UserGuide/KunpengDevKit_0050.html)。

7. （可选）下载工具。
用户服务器无网络情况下，可先行下载工具再通过deploy_tool批量安装各工具。若用户服务器有网络，请跳过本步骤，直接通过deploy_tool批量安装各工具。
以下方式二选一，请用户根据实际情况选择Linux版本下载工具或者Windows版本下载工具。

  - Linux版本：采用download_tool工具下载
download_tool是指一键下载工具。当批量安装工具所在节点网络不通时，可以使用download_tool在有网络环境的机器上先行下载所需的安装包，供用户上传至批量安装工具所在节点，供批量安装工具在默认路径加载使用。


    - 通过download_tool工具，按照      3
中machine.yaml配置文件中的有效角色下载各工具。

```
./download_tool -f ./machine.yaml
```


      下载完成后，将下载的所有工具安装包放入“devkitdependencies”文件夹中，上传到批量安装工具所在节点。

    - 通过一键下载工具下载ISO镜像。

```
./download_tool -iso auto
```


      download_tool命令参数说明： -f：指定yaml文件路径。 -iso：指定需要下载的ISO版本，输入“auto”将自动检测操作系统版本，并下载对应版本的ISO文件。

  - Windows版本：采用download_tool-for-windows.exe工具下载

    a. 请参见      获取软件包(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/preparations/Develop_0188.html)
获取download_tool-for-windows.exe。
    b. 在download_tool-for-windows.exe所在路径下创建machine.yaml文件，填写同      3
。
    c. 在download_tool-for-windows.exe所在路径下打开cmd窗口，下载组件包，工具会自动将下载的组件包打包成devkitdependencies.tar.gz文件。

```
download_tool-for-windows.exe
```


    d. 将devkitdependencies.tar.gz上传至“linux”文件夹。
8. 安装工具。
  deploy_tool工具可按machine.yaml配置文件中的有效角色安装GCC for openEuler、毕昇编译器、毕昇JDK 8、毕昇JDK 17、兼容性测试、DevKit Web、DevKit CLI、Java性能测试和ClamAV工具。

```
./deploy_tool -f ./machine.yaml
```


  -f：指定yaml文件路径。 批量安装工具将标准输出作为日志输出地址，没有生成单独的日志文件。 使用批量安装工具，需要提前在目标节点安装tar命令用于安装工具。 不建议在同一环境下同时安装毕昇JDK 8和毕昇JDK 17，若在同一环境下安装，只有一个JDK生效。 使用兼容性测试工具之前请参见使用示例(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/pipeline/NativeDevelopment_0118.html#ZH-CN_TOPIC_0000002080875940__section976585714910)配置参数。

9. Java性能测试工具使用依赖于Apache JMeter工具，且需确认采集的Java程序所在工作节点存在jcmd命令。请参见安装Apache JMeter工具(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/install/NativeDevelopment_0014.html#ZH-CN_TOPIC_0000001955747516__section11709929191110)、确定需要采集的Java程序所在机器存在jcmd命令(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/install/NativeDevelopment_0014.html#ZH-CN_TOPIC_0000001955747516__zh-cn_topic_0000001906263490_section52081156518)进行操作。
10. 安装完成后，在各工作节点执行su命令重新加载环境变量，其中USER为安装工具的用户。

```
su -
USER
```


11. （可选）无感切换依赖。
  若用户的某些应用或命令希望使用批量安装工具安装的毕昇编译器的相关环境变量，可以执行命令切换依赖。

```
source ${HOME}/.local/wrap-bin/devkit_NonInvasiveSwitching.sh
```


  通过批量安装工具安装毕昇编译器时会自动在“~/.local”文件夹下生成“wrap-bin/devkit_NonInvasiveSwitching.sh”等脚本文件。 可以执行gcc -v命令查看切换前后的环境信息，能看到查询的信息由“gcc”变为“clang”。


#### 安装后验证

安装完成后，可在各安装工具的工作节点下查看安装结果，请用户根据实际安装工具查看。

打开bashrc文件，通过查看对应的环境变量来识别工具环境是否安装成功。

```
cat
~
/.bashrc
```

- GCC for openEuler
  查看bashrc文件，新增如下四行命令，表示GCC for openEuler环境设置成功。

```
export GCC_HOME=${HOME}/.local/gcc-10.3.1-2023.12-aarch64-linux
export PATH=${GCC_HOME}/bin:${PATH}
export INCLUDE=${GCC_HOME}/include:${INCLUDE}
export LD_LIBRARY_PATH=${GCC_HOME}/lib64:${LD_LIBRARY_PATH}
```


  查询当前环境所用GCC版本。

```
gcc --version
```


  回显信息如下所示，即GCC for openEuler安装成功。

```
gcc (gcc for openEuler 2.3.6) 10.3.1
```


- 毕昇编译器
  查看bashrc文件，新增如下三行命令，表示BiSheng Compiler环境设置成功。

```
export BISHENG_COMPILER_HOME=${HOME}/.local/BiShengCompiler-3.2.0-aarch64-linux
export PATH=${BISHENG_COMPILER_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${BISHENG_COMPILER_HOME}/lib:${BISHENG_COMPILER_HOME}/lib/aarch64-unknown-linux-gnu:${LD_LIBRARY_PATH}
```


  查询当前环境所用clang版本。

```
clang --version
```


  回显信息如下所示，即毕昇编译器安装成功。

```
BiSheng Enterprise 3.2.0.B008 clang version 15.0.4 (1e11b36754d8)
```


- 毕昇JDK 8
  查看bashrc文件，新增如下四行命令，表示毕昇JDK 8环境设置成功。

```
export JAVA_HOME=${HOME}/.local/bisheng-jdk1.8.0_402
export PATH=${JAVA_HOME}/bin:${PATH}
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export JRE_HOME=${JAVA_HOME}/jre
```


  查询当前环境所用Java版本。

```
java -version
```


  回显信息如下所示，即毕昇JDK 8安装成功。

```
openjdk version "1.8.0_402"
OpenJDK Runtime Environment BiSheng (build 1.8.0_402-b11)
```


- 毕昇JDK 17
  查看bashrc文件，新增如下两行命令，表示毕昇JDK 17环境设置成功。

```
export JAVA_HOME=${HOME}/.local/bisheng-jdk-17.0.10
export PATH=${JAVA_HOME}/bin:${PATH}
```


  查询当前环境所用Java版本。

```
java -version
```


  回显信息如下所示，即毕昇JDK 17安装成功。

```
openjdk version "17.0.10" 2024-01-16
OpenJDK Runtime Environment BiSheng (build 17.0.10+11)
```


- A-FOT
  查看bashrc文件，新增如下两行命令，表示A-FOT环境设置成功。

```
export A_FOT_HOME=${HOME}/.local/a-fot
export PATH=${A_FOT_HOME}:${PATH}
```


  查询A-FOT所在位置。

```
which a-fot
```


  回显信息如下所示，即A-FOT安装成功。

```
/
USER
/.local/a-fot/a-fot
```


  用户重新登录服务器后，配置好配置文件后即可使用a-fot --config_file a-fot.ini（也可通过命令行灵活配置，请参见A-FOT工具命令参考(https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/pipeline/NativeDevelopment_0114.html)）进行优化应用。

- 兼容性测试
  批量安装工具会在“${HOME}”路径下解压compatibility_testing.tar.gz压缩包，执行以下命令可确认关键文件是否存在。

```
ls ${HOME}/.local/compatibility_testing/bin/compatibility_test
```


- DevKit Web
  批量安装工具会在“/opt”目录下安装DevKit Web端后台，并安装所有插件以及初始化管理员用户密码，初始密码为devkit123。打开本地PC浏览器，访问https://安装工具的服务器IP地址:端口（例如：https://x.x.x.x:8086），输入管理员用户名（devadmin）和密码（devkit123）。

- DevKit CLI
  查看bashrc文件，新增如下一行命令，表示DevKit CLI环境设置成功。

```
export PATH=${HOME}/.local/DevKit-CLI-24.0.T50-Linux-Kunpeng:${PATH}
```


  查询DevKit CLI所在位置。

```
which devkit
```


  回显信息如下所示，即DevKit CLI安装成功。

```
/
USER
/.local/DevKit-CLI-24.0.T50-Linux-Kunpeng/devkit
```


- Java性能测试
  批量安装工具会在“${HOME}”路径下解压devkit_tester.tar.gz压缩包，执行以下命令可确认关键文件是否存在。

```
ls ${HOME}/.local/devkit_tester
```


- ClamAV
  查询当前环境ClamAV工具的版本。

```
clamscan -V
```


  回显信息如下所示，即ClamAV工具安装成功。

```
ClamAV 0.103.9/26818/Mon Feb 20 16:21:31 2023
```
