我有一堆树莓派正在运行一个托管本地服务器的自定义映像。我无法控制这些设备的输出位置或它们是否已连接到外部互联网。
我目前正在使用git进行项目开发,我想知道git是否可用于将更新自动部署到设备。
如果每次他们连接到Internet时,他们都尝试git pull
,则理论上他们将下载所有新更新。我可以轻松地编写一个更新脚本,在成功拉取之后,它会检查并安装新软件需求。
到处可能有数百个这样的设备,我想知道这是否可行,或者是否有人知道此方法有任何问题。不应在许多设备上使用此功能吗?与此相关的任何安全问题吗?
答案 0 :(得分:1)
没有确切的git pull hook,并且像noted here一样,Git本身也不是精确的部署工具。
如果编写“更新”脚本,最好编写一个侦听器,该侦听器可以由存储库托管服务自动调用。
例如,GitHub webhook就是这样。
由于有数百个,因此仅一个Webhook就不够了。
相反,您需要编写一个程序(在每个设备上分发),每隔几个小时polls进行一次新提交(git pull
),然后调用更新脚本。