嵌入式平台脚本部署框架

嵌入式平台脚本部署框架


前言

在嵌入式开发领域,需要把资源放置在嵌入式平台上,Qt的部署仅限于给单机部署,无法完成一些资源文件的替换,改变一些系统配置,本文提出一种批量部署的框架,可以一次性对多台设备进行部署,助力生产场景。

一、框架描述

本框架采用分层架构的思想,由三个层级级脚本组成。三级脚本为传输单个资源的脚本,可以对少量资源进行传输;二级脚本针对单个设备,将单个设备依赖的所有资源进行传输;一级脚本将对一组设备进行相同的操作。三个脚本层层调用,完成多机多资源的自动部署。

二、脚本框架代码介绍

1、三级脚本

#!/bin/bash
#$1 设备ip
SCRIPT_PATH=$(dirname "$(readlink -f "$0")")
echo $SCRIPT_PATH
#scp -r $SCRIPT_PATH/<file_name> username@<ip>:<dest_addr>
#如果有软连接
#rsync $SCRIPT_PATH/<file_name> username@<ip>:<dest_addr>
scp -r $SCRIPT_PATH/libdepend1.so $SCRIPT_PATH/libdepend12.so root@$1:/usr/lib/
#在远程端执行命令我们使用 ssh <username>@$1 "COMAND_STRING"

2、二级脚本

代码如下(示例):

#!/bin/bash
error=0
#确认设备是否在线
ping $1 -c 1 > /dev/null
if [ $? -eq 0 ];then
	echo $1 ping success!
else
	echo $1 ping failed, please check the device!
	exit
fi
#建立 存储的目录
ssh root@$1 "mkdir /home/storage"
#杀死应用进程
ssh root@$1 "killall APP_NAME"
#调用子目录脚本
#依赖的库
sh ./libs/lib1/translib1sh $1
#测试程序
sh ./tests/test1/transtest1.sh $1
#字体
sh ./fonts/transHarmonyFonts.sh $1
#启动服务
sh ./selfStartUp/transStartupFile.sh $1
#驱动
sh ./drivers/driver1/transDriver1.sh $1
if [ $? -eq 0 ];then
	echo $1 deploy success!
else
	echo $1 deploy failed!
fi

3、一级脚本

#!/bin/bash
#IP前缀 根据实际情况修改
IP_PREFIX=192.168.1.
list="71 72"
for i in $list;
do
#调用部署单机的脚本
	sh DeployOneDevice.sh $IP_PREFIX$i
done

总结

本文介绍了嵌入式平台部署资源的框架,大家可以参考此框架,结合项目实际,完成项目所需功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值