中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

批量部署工具

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

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

操作步骤

  1. 以root用户登录Master节点,请参见获取软件包获取devkit-pipeline-v1.0.4.tar.gz软件包,并上传到鲲鹏服务器,以安装目录“/home/pipeline”为例。
  2. 解压软件包。
    cd /home/pipeline
    tar -zxvf devkit-pipeline-v1.0.4.tar.gz
    解压后“linux”文件夹下有以下文件。
    • deploy_tool:批量部署工具
    • download_tool:一键下载工具
    • machine.yaml:配置文件
    • script_generator:生成Jenkins、GitLab流水线运行模板

    工具详细介绍请参见download_tooldeploy_toolscript_generator

  3. 进入“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地址填写,不需要安装的组件可以删除对应角色,安装所有角色的服务器可以为同一台服务器。

  4. 配置Master节点到各工作节点的免密,不同工作节点和用户均需要执行当前操作。
    1. 使用RSA协议生成公私钥对。
      ssh-keygen -t rsa

      生成公私钥对命令参考:ssh-keygen [-b bits] [-t rsa] [-f output_keyfile]

      • -b:指定bytes长度。
      • -t:指定生成的密钥类型。
      • -f:指定公私钥文件名。

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

    2. 配置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免密。若使用普通用户安装Compatibility Testing的执行机、DevKit CLI的扫描机、ClamAV的病毒扫描执行机或者DevKit Web的DevKit部署机上需要配置,其他情况请跳过。

    执行visudo命令修改“/etc/sudoers”文件。

    visudo -f /etc/sudoers
    1. 普通用户(USER)配置sudo权限,需在“/etc/sudoers”文件中对比“root ALL=(ALL) ALL”新增一行。
      root    ALL=(ALL)       ALL 
      USER    ALL=(ALL)       NOPASSWD: ALL
    2. 普通用户(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源

  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工具下载
      1. 请参见获取软件包获取download_tool-for-windows.exe。
      2. 在download_tool-for-windows.exe所在路径下创建machine.yaml文件,填写同3
      3. 在download_tool-for-windows.exe所在路径下打开cmd窗口,下载组件包,工具会自动将下载的组件包打包成devkitdependencies.tar.gz文件。
        download_tool-for-windows.exe
      4. 将devkitdependencies.tar.gz上传至“linux”文件夹。
  8. 部署组件。
    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
    • -f:指定yaml文件路径。
    • 批量部署工具将标准输出作为日志输出地址,没有生成单独的日志文件。
    • 使用批量部署工具,需要提前在目标节点安装tar命令用于安装组件。
    • 不建议在同一环境下同时部署BiSheng JDK 8和BiSheng JDK 17,若在同一环境下部署,只有一个JDK生效。
    • 使用兼容性测试工具之前请参见使用示例配置参数。
  9. DevKit Tester组件使用依赖于Apache Jmeter工具,以及需要确认采集的Java程序所在工作节点存在jcmd命令。请参见安装Apache Jmeter工具确定需要采集的Java程序所在机器存在jcmd命令进行操作。
  10. 部署完成后,在各工作节点执行su命令重新加载环境变量,其中USER为安装组件的用户。
    su - USER
  11. (可选)无感切换依赖。

    若用户的某些应用或命令希望使用批量部署工具安装的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工具部署结果

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

    clamscan -V

    回显信息如下所示,即ClamAV工具部署成功。

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