批量部署工具
DevKit Pipeline是批量部署工具,用户可以根据需要部署门禁扫描、编译、测试、病毒扫描相关的工具到工作节点。
若想一次性批量部署所有的工具,可通过DevKit Pipeline工具在Master节点批量部署工具到工作节点上。
操作步骤
- 以root用户登录Master节点,请参见获取软件包获取devkit-pipeline-v1.0.4.tar.gz软件包,并上传到鲲鹏服务器,以安装目录“/home/pipeline”为例。
- 解压软件包。
- 进入“linux”文件夹,编辑machine.yaml文件,在machine.yaml文件中配置各组件安装所在的工作节点IP地址以及其他信息。
cd devkit-pipeline-v1.0.4/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:扫描机。
- c_builder_gcc:GCC for openEuler构建机。
- c_builder_bisheng_compiler:毕昇编译器构建机。
- java_builder_jdk8:毕昇JDK8构建机。
- java_builder_jdk17:毕昇JDK17构建机。
请用户自行选择部署JDK,不建议在同一环境下同时部署BiSheng JDK8和BiSheng JDK17,若在同一环境下部署,只有一个JDK生效。
- compatibility:兼容性测试执行机。
- devkit:DevKit部署机。
- clamav:病毒扫描执行机。
- tester:Java测试执行机。
scanner、java_builder_jdk8、java_builder_jdk17、c_builder_gcc、c_builder_bisheng_compiler、compatibility、devkit、clamav、tester均为角色名称,需按照模板格式,以yaml列表的形式输入对应的IP地址。请用户根据实际部署角色的服务器IP地址填写,不需要安装的组件可以删除对应角色,安装所有角色的服务器可以为同一台服务器。
- 配置Master节点到各工作节点的免密,不同工作节点和用户均需要执行当前操作。
- 使用RSA协议生成公私钥对。
ssh-keygen -t rsa
生成公私钥对命令参考:ssh-keygen [-b bits] [-t rsa] [-f output_keyfile]
- -b:指定bytes长度。
- -t:指定生成的密钥类型。
- -f:指定公私钥文件名。
执行命令后,回显信息会提示用户输入生成公私钥对所用密码,若输入密码,则后续批量部署工具在运行时需要用户手动输入密码,或在machine.yaml配置文件中新增一行password参数并填入公私钥对所用密码。
- 配置Master节点免密连接各工作节点。
ssh-copy-id -i /root/.ssh/id_rsa.pub USER@REMOTE_HOST
- -i:指定用户配置免密的公钥路径。
- USER:工作节点用户名。
- REMOTE_HOST:工作节点IP地址。
执行命令后提示输入工作节点用户密码,输入密码后公钥被复制到工作节点的authorized_keys文件中,实现免密登录工作节点。若上述IP地址中出现本机IP地址,或想要本机到本机的安装部署,则需要配置本机到本机的免密登录。
- 使用RSA协议生成公私钥对。
- (可选)以root用户登录工作节点,在工作节点上配置sudo权限与sudo免密。若使用普通用户安装Compatibility Testing的执行机、DevKit CLI的扫描机、ClamAV的病毒扫描执行机或者DevKit Web的DevKit部署机上需要配置,其他情况请跳过。
执行visudo命令修改“/etc/sudoers”文件。
visudo -f /etc/sudoers
- 普通用户(USER)配置sudo权限,需在“/etc/sudoers”文件中对比“root ALL=(ALL) ALL”新增一行。
root ALL=(ALL) ALL USER ALL=(ALL) NOPASSWD: ALL
- 普通用户(USER)配置sudo免密,需在“ /etc/sudoers”文件中对比 “# %wheel ALL=(ALL) NOPASSWD: ALL”新增一行。
# %wheel ALL=(ALL) NOPASSWD: ALL USER ALL=(ALL) NOPASSWD: ALL
- 普通用户(USER)配置sudo权限,需在“/etc/sudoers”文件中对比“root ALL=(ALL) ALL”新增一行。
- (可选)以root用户登录安装A-FOT工具的工作节点,使用yum安装“perf”命令,A-FOT工具为c_builder_gcc角色。
- (可选)下载组件。
用户服务器无网络情况下,可先行下载组件再通过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文件。
- 通过download_tool工具,按照3中machine.yaml配置文件中的有效角色下载各组件。
- Windows版本:采用download_tool-for-windows.exe工具下载
- 请参见获取软件包获取download_tool-for-windows.exe。
- 在download_tool-for-windows.exe所在路径下创建machine.yaml文件,填写同3。
- 在download_tool-for-windows.exe所在路径下打开cmd窗口,下载组件包,工具会自动将下载的组件包打包成devkitdependencies.tar.gz文件。
download_tool-for-windows.exe
- 将devkitdependencies.tar.gz上传至“linux”文件夹。
- Linux版本:采用download_tool工具下载
- 部署组件。deploy_tool工具可按machine.yaml配置文件中的有效角色部署GCC for openEuler、BiSheng Compiler、BiSheng JDK8、BiSheng JDK17、Compatibility Testing、DevKit Web、DevKit CLI、ClamAV和DevKit Tester组件。
./deploy_tool -f ./machine.yaml
- DevKit Tester组件使用依赖于Apache Jmeter工具,以及需要确认采集的Java程序所在工作节点存在jcmd命令。请参见安装Apache Jmeter工具、确定需要采集的Java程序所在机器存在jcmd命令进行操作。
- 部署完成后,在各工作节点执行su命令重新加载环境变量,其中USER为安装组件的用户。
su - USER
- (可选)无感切换依赖。
若用户的某些应用或命令希望使用批量部署工具安装的BiSheng Compiler的相关环境变量,可以执行命令切换依赖。
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
- BiSheng Compiler
查看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 Compiler部署成功。
BiSheng Enterprise 3.2.0.B008 clang version 15.0.4 (1e11b36754d8)
- BiSheng JDK 8
查看bashrc文件,新增有如下四行命令,表示BiSheng JDK8环境设置成功。
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
回显信息如下所示,即BiSheng JDK 8部署成功。
openjdk version "1.8.0_402" OpenJDK Runtime Environment BiSheng (build 1.8.0_402-b11)
- BiSheng JDK 17
查看bashrc文件,新增有如下两行命令,表示BiSheng JDK 17环境设置成功。
export JAVA_HOME=${HOME}/.local/bisheng-jdk-17.0.10 export PATH=${JAVA_HOME}/bin:${PATH}
查询当前环境所用Java版本。
java -version
回显信息如下所示,即BiSheng 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命令参考)进行优化应用。
- Compatibility Testing
批量部署工具会在“${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.RC3-Linux-Kunpeng:${PATH}
查询DevKit CLI所在位置。
which devkit
回显信息如下所示,即DevKit CLI部署成功。
/USER/.local/DevKit-CLI-24.0.RC3-Linux-Kunpeng/devkit
- DevKit Tester
批量部署工具会在“${HOME}”路径下解压devkit_tester.tar.gz文件夹,执行以下命令可确认关键文件是否存在。
ls ${HOME}/.local/devkit_tester
- ClamAV工具部署结果
clamscan -V
回显信息如下所示,即ClamAV工具部署成功。
ClamAV 0.103.9/26818/Mon Feb 20 16:21:31 2023