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

部署工具

安装工具

  1. 获取软件包:https://gitee.com/openeuler/devkit-pipeline/releases/download/v1.0.1/devkit-pipeline-v1.0.1.tar.gz
  2. 上传软件包到鲲鹏服务器并解压,解压后linux文件夹下有deploy_tool、download_tool和machine.yaml文件。
    • deploy_tool:批量部署工具
    • download_tool:一键下载工具
    • machine.yaml:两个工具依赖的配置文件

    详细内容请参见工具介绍

    若当前鲲鹏服务器没有外网访问权限,请在有网络的鲲鹏服务器使用Linux版本的一键下载工具来下载批量部署工具所需的组件包,或在有网络的Windows环境中使用Windows版本的一键下载工具来下载部署工具所需的组件包。

  3. 使用RSA协议生成公私钥对,执行以下命令在当前路径下生成RSA公私钥对。
    ssh-keygen -t rsa

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

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

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

  4. 执行以下命令配置本节点免密连接其他节点。
    ssh-copy-id -i filepath/id_rsa.pub USER@REMOTE_HOST
    • -i:指定用户配置免密的公钥路径。
    • USER:远程服务器用户名。
    • REMOTE_HOST:远程服务器IP地址。

    执行命令后提示输入远程服务器密码,输入密码后公钥被复制到远程服务器的authorized_keys文件中,实现免密登录远程服务器。若上述IP地址中出现本机IP地址,或想要本机到本机的安装部署,则需要配置本机到本机的免密登录。

  5. 部署执行Compatibility Testing的执行机、DevKit CLI的扫描机、ClamAV的病毒扫描执行机或者DevKit Web的DevKit部署机上的普通用户需要配置sudo权限与sudo免密。

    执行visudo命令修改“/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. (可选)执行以下命令下载组件,若当前环境可联网,可跳过此步骤。
    • 可按machine.yaml配置文件中的有效角色下载GCC for openEuler、BiSheng Compiler、BiSheng JDK8、BiSheng JDK17、Compatibility Testing、DevKit Web、DevKit CLI组件。
      ./download_tool -f ./machine.yaml
    • 可通过一键下载工具下载本地iso镜像。
      ./download_tool -iso auto

    download_tool命令参数说明:

    • -f:指定yaml文件路径。
    • -iso:指定下载iso版本,输入“auto”将自动检测操作系统版本,并自动下载对应的版本iso文件。
  7. 安装依赖。
    安装A-FOT工具前需要先使用yum安装“perf”命令,A-FOT工具为c_builder_gcc角色(即c/cpp构建机)。
    yum install perf -y
  8. 执行以下命令部署组件。
    可按machine.yaml配置文件中的有效角色部署GCC for openEuler、BiSheng Compiler、BiSheng JDK8、BiSheng JDK17、Compatibility Testing、DevKit Web、DevKit CLI、ClamAV组件。
    ./deploy_tool -f ./machine.yaml 

    -f:指定yaml文件路径。

    批量部署工具将标准输出作为日志输出地址,没有生成单独的日志文件。

    使用批量部署工具,需要提前在目标节点安装tar命令用于安装组件。

  9. 查看部署结果。

    批量部署工具将各组件安装至用户家目录下的“.local”文件夹下。

    • GCC for openEuler部署结果

      批量部署工具将GCC for openEuler安装包解压至用户家目录下的“.local”文件夹下,并在用户的~/.bashrc文件中新增如下四行命令。用户重新登录服务器后即可查询当前环境所用gcc版本。

      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}
    • BiSheng Compiler部署结果

      批量部署工具将BiSheng Compiler安装包解压至用户家目录下的“.local”文件夹下,并在用户的~/.bashrc文件中新增如下三行命令。用户重新登录服务器后即可查询当前环境所用clang版本。

      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}
    • BiSheng JDK8部署结果

      批量部署工具将BiSheng JDK8安装包解压至用户家目录下的“.local”文件夹下。用户手动配置环境变量后,可使用如下命令查询当前环境所用java版本。

      1. 设置环境变量。
        • 临时设置
          export JAVA_HOME=${HOME}/.local/bisheng-jdk1.8.0_402     
          export PATH=$JAVA_HOME/bin:$PATH
        • 永久设置,在任意终端或重启系统都有效。在${HOME}/.bashrc文件末尾添加如下内容。
          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
      2. 在终端中加载系统环境变量(永久设置时需要执行)。
        source ${HOME}/.bashrc
      3. 查询当前环境所用Java版本。
        java -version
      4. 终端返回如下回显信息,即Java环境设置成功。
        openjdk version "1.8.0_402"
    • BiSheng JDK17部署结果

      批量部署工具将BiSheng JDK17安装包解压至用户家目录下的“.local”文件夹下。用户手动配置环境变量后,可使用如下命令查询当前环境所用java版本。

      1. 设置环境变量。
        • 临时设置
          export JAVA_HOME=${HOME}/.local/bisheng-jdk-17.0.10     
          export PATH=$JAVA_HOME/bin:$PATH
        • 永久设置,在任意终端或重启系统都有效。在${HOME}/.bashrc文件末尾添加如下内容。
          export JAVA_HOME=${HOME}/.local/bisheng-jdk-17.0.10     
          export PATH=$JAVA_HOME/bin:$PATH    
          export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      2. 在终端中加载系统环境变量(永久设置时需要执行)。
        source ${HOME}/.bashrc
      3. 查询当前环境所用Java版本。
        java -version
      4. 终端返回如下回显信息,即Java环境设置成功。
        openjdk version "17.0.10" 2024-01-16
    • A-FOT部署结果

      批量部署工具将A-FOT安装包解压至用户家目录下的“.local”文件夹下,并在用户的~/.bashrc文件中新增如下两行命令。用户重新登录服务器后,配置好配置文件后即可使用a-fot --config_file a-fot.ini(也可通过命令行灵活配置,请参见安装A-FOT工具)进行优化应用。

      export A_FOT_HOME=${HOME}/.local/a-fot 
      export PATH=${A_FOT_HOME}:${PATH}
    • DevKit Web部署结果

      批量部署工具会在“/opt”目录下安装DevKit Web端后台,只安装java_perf插件,并初始化管理员(devadmin)用户密码,初始密码为devkit123。

    • DevKit命令行部署结果
      可执行以下命令查看DevKit命令行安装位置。
      which devkit
    • 无感切换依赖

      若用户的某些应用或命令希望使用批量部署工具安装的BiSheng Compiler的相关环境变量,可以执行以下命令。

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

工具介绍

  • 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
    executor:
      - 192.168.0.1
    compatibility:
      - 192.168.0.1
    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构建机
    • executor:兼容性测试执行机
    • compatibility:兼容性测试执行机
    • devkit:DevKit部署机
    • clamav:病毒扫描执行机

    scanner、java_builder_jdk8、java_builder_jdk17、c_builder_gcc、c_builder_bisheng_compiler、executor、compatibility、devkit、clamav均为角色名称,需以yaml列表的形式输入对应的IP地址。

    安装所有角色的服务器可以为同一台服务器。

  • download_tool(一键下载工具)介绍

    download_tool支持Linux版本和Windows版本。

    • Linux版本

      提供以下命令参考。

      • 直接下载组件
        ./download_tool -f machine.yaml
        ./download_tool 
      • 下载本地iso镜像
        ./download_tool -iso auto
      • 查看工具使用提示命令
        ./download_tool -h

      当批量部署工具所在节点网络不通时,可以使用download_tool一键下载工具在有网络环境的机器上先行下载所需的组件安装包,工具自动打包成devkitdependencies.tar.gz文件,供用户上传至批量部署工具所在节点,供批量部署工具在默认路径加载使用。

      请将devkitdependencies.tar.gz文件上传到deploy_tool批量部署工具所在的路径,然后在当前路径下执行deploy_tool批量部署工具,如图1所示。

      图1 组件包存放位置
    • Windows版本

      Windows版本的一键下载工具在下载链接中的名称为download_tool-for-windows.exe,在Windows机器上使用,用于下载组件包,并打包成devkitdependencies.tar.gz文件,供用户上传至批量部署工具所在节点,供批量部署工具在默认路径加载使用。使用工具时需要在工具所在目录下存放machine.yaml配置文件。

      图2 存放machine.yaml配置文件

      请在download_tool-for-windows.exe文件所在目录下运行cmd,在打开的窗口中执行download_tool-for-windows.exe文件,可在当前目录下下载组件包。下载完成后结果如图3所示。

      图3 下载组件包
  • deploy_tool(批量部署工具)介绍
    • 在命令行进入工具所在文件夹路径,执行以下命令,查看工具的使用提示。
      ./deploy_tool -h
      图4 批量部署工具使用提示
    • 批量部署工具支持按角色批量部署组件,其中角色按最小颗粒级的组件组合进行拆分。

      按角色下载和部署对应组件,如所示。各工具下载版本多为各工具官网提供的最新版,请参见download_config.py文件查看具体下载链接。

      表1 对应组件

      角色

      对应组件

      scanner

      DevKit CLI

      java_builder_jdk17

      BiSheng JDK17

      java_builder_jdk8

      BiSheng JDK8

      c_builder_gcc

      GCC for openEuler、A-FOT

      c_builder_bisheng_compiler

      BiSheng Compiler、NonInvasive Switching

      executor

      Compatibility Testing

      compatibility

      Compatibility Testing

      devkit

      DevKit Web

      clamav

      ClamAV

      在部署BiSheng JDK8和BiSheng JDK17时,两个版本的安装包解压在“${HOME}/.local/”目录下,按照需要使用的版本手动配置环境变量。

      部署安装过程中会使用目标节点机器的“/tmp”目录作为临时文件所在目录,部署完成后将会删除“/tmp”目录下的临时文件。若目标节点机器“/tmp”目录磁盘空间不足,会导致安装失败。