7.4. 批量部署工具

说明:批量部署工具为方便在多台设备上进行命令批量执行,文件批量上传/下发的工具;该工具适用于可以进行SSH的SoC或PCIe设备;

7.4.1. 工具的获取

使用浏览器打开并下载:https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/10/31/09/qt_batch_deployment.zip

文件下载完成后为压缩包,将压缩包解压完成后文件路径如下:

└── qt_batch_deployment
    ├── qt_batch_deployment_Vxxx_windows_x86_64.zip
    ├── qt_batch_deployment_Vxxx-x86_64.AppImage
    └── qt_batch_deployment_Vxxx-x86_64.AppImage

因为压缩包内将windows下工具进行了再打包,将上面的 qt_batch_deployment_Vxxx_windows_x86_64.zip 再次解压后得到如下工具:

└── qt_batch_deployment
    ├── qt_batch_deployment_no_ui_Vxxx.7z
    ├── qt_batch_deployment_Vxxx.exe
    ├── qt_batch_deployment_Vxxx-x86_64.AppImage
    └── qt_batch_deployment_Vxxx-x86_64.AppImage

qt_batch_deployment_no_ui_Vxxx.7z为windows下无ui版本工具,需要进一步解压,下列列表为将其中所有压缩包完成解压后的路径:

└── qt_batch_deployment
    ├── translations
    ├── libcrypto-3-x64.dll
    ├── libgcc_s_seh-1.dll
    ├── libssl-3-x64.dll
    ├── libstdc++-6.dll
    ├── libwinpthread-1.dll
    ├── qt_batch_deployment_no_ui.exe #Windows环境下无UI使用版本
    ├── qt_batch_deployment_Vxxx.exe #Windows环境下图形化界面版本
    ├── qt_batch_deployment_Vxxx-aarch64.AppImage #支持aarch64 Linux环境下使用版本
    ├── qt_batch_deployment_Vxxx-x86_64.AppImage #支持x86 Linux环境下使用版本
    └── Qt5Core.dll

其中可执行文件为qt_batch_deployment_no_ui.exe,qt_batch_deployment_Vxxx.exe,qt_batch_deployment_Vxxx-aarch64.AppImage,qt_batch_deployment_Vxxx-x86_64.AppImage。

qt_batch_deployment_no_ui.exe为Windows环境下无UI使用版本;
qt_batch_deployment_Vxxx.exe为Windows环境下图形化界面版本;
qt_batch_deployment_Vxxx-aarch64.AppImage为支持aarch64 Linux环境下使用版本;
qt_batch_deployment_Vxxx-x86_64.AppImage为支持x86 Linux环境下使用版本;

备注

xxx为工具更新的版本号,需要对应具体下载后得到的工具版本;

7.4.2. 图形化模式使用指引

7.4.2.1. 图形化模式启动方式

Linux系统:

  • aarch64 Linux下,执行如下命令以启动程序:

./qt_batch_deployment_Vxxx-aarch64.AppImage
  • x86 Linux下,执行如下命令以启动程序:

./qt_batch_deployment_Vxxx-x86_64.AppImage

Windows系统:

双击 qt_batch_deployment_Vxxx.exe 启动图形化模式;

7.4.2.2. 图形化模式操作指引

Liunx系统下和Windows系统下图形化操作方法相同;

如下图为图形化模式的主界面;

../_images/mainwindow.PNG

图 7.6 图形化模式主界面

图形化模式操作流程如下所示:

  1. 选择文件操作根目录:

../_images/rootpath.png

图 7.7 文件操作根目录选择

红色框部分为选择进行文件操作的根目录,点击选择根目录按钮,会弹出路径选择框;

  1. 进行远程设备信息配置:

../_images/remoteinfo.png

图 7.8 远程设备信息配置区域

红色框部分为远程设备信息配置框,用来配置远程设备的基本信息;

信息包含:

1. IPv4地址:设备的IP地址;
2. SSH端口:通过SSH连接设备的端口号;
3. 用户名:通过SSH连接设备的用户名;
4. 密码:通过SSH连接设备相应用户的密码;

可以通过右键已配置的设备信息进行添加或删除设备信息,设备添加方式为克隆当前设备信息,克隆完成后进行修改;

  1. 进行操作信息配置:

../_images/optinfo.png

图 7.9 操作信息配置区域

在红色框部分中进行需要批量执行的操作配置;

通过右键已配置的操作信息进行添加或删除需要执行的操作信息,设备添加方式为克隆当前设备信息,克隆完成后进行修改;

批量操作共分为三类:

3.1 命令下发

../_images/cmd.png

图 7.10 命令下发类操作配置区域

即在目标设备上执行这里定义的指令,执行完成后会返回执行结果;

同时可以通过输入执行成功/失败关键字对执行结果进行判断,为空时不进行检查;

3.2 文件上传

../_images/fileupload.png

图 7.11 文件上传类操作配置区域

选择将本地文件批量上传到目标设备上,通过点击选择文件选择需要上传的文件;

在配置目标路径中配置目标设备上的文件路径,需要为绝对路径且为全英文路径;

3.3 文件下载

../_images/filedownload.png

图 7.12 文件下载类操作配置区域

将目标设备上的文件下载至本地;

在配置目标路径中配置目标设备上的需要下载的文件路径,需要为绝对路径且为全英文路径;

点击选择目录选择文件下载到的本地路径;

  1. 选择内置预设文件(可选):

../_images/profile.png

图 7.13 选择内置预设文件区域

工具提供了inSE6conf.json和outSE6conf.json两个预置文件,用于SE6上的批量部署;

  1. 载入/保存配置文件(可选):

../_images/loadsavefile.png

图 7.14 载入/保存配置文件区域

因为每次启动批量部署工具时配置信息会被初始化,因此可以选择将已配置好的配置项进行保存,点击保存配置文件进行保存;

可以通过载入配置文件对已保存的配置文件进行读取;

  1. 配置并行上限:

../_images/parallel.png

图 7.15 配置并行上限按钮

这里可以选择最大并行上线已控制运行时的负载;

默认值为200,可以调整为200,100,50,20,2;

  1. 点击执行配置按钮,开始进行批量部署;

../_images/run.png

图 7.16 执行按钮

在部署完成后,会在红色框的位置打印返回信息;

../_images/result.png

图 7.17 执行结果返回区域

多台设备的打印信息使用分页进行切换;

7.4.3. 命令行模式使用指引

7.4.3.1. 命令行模式启动方式

Linux系统:

  • aarch64 Linux下,执行如下命令以启动程序:

./qt_batch_deployment_Vxxx-aarch64.AppImage [Root Directory] [Json File Path] [Max Value]
  • x86 Linux下,执行如下命令以启动程序:

./qt_batch_deployment_Vxxx-x86_64.AppImage [Root Directory] [Json File Path] [Max Value]

Windows系统:

  • Windows系统下,执行如下命令以启动程序:

./qt_batch_deployment_no_ui.exe [Root Directory] [Json File Path] [Max Value]

[Root Directory] 为文件操作的根目录,与图形化模式操作指引中第一条指引相同;

[Json File Path] 为批量部署设备和操作的配置文件,格式为Json,为图形化模式操作指引中第五条保存配置文件所得到的结果,也可以参考保存结果的格式进行手动编辑;

[Max Value] 为最大并行数设置,与图形化模式操作指引中第六条相同;

7.4.3.2. 命令行模式操作指引

参考命令行模式启动方式进行指令启动;在启动完成后会将执行信息和执行结果进行打印;

打印信息与图形化界面的分页不同,会以设备ID的为序进行顺序输出;

最后会输出每个设备上执行成功/失败的信息。