gpt4 book ai didi

linux - 如何将代码部署到所有位于不同网络上的硬件节点?

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:22 24 4
gpt4 key购买 nike

这是我最近一直在思考的一个有趣的问题,但还没有想出或找到我认为可以接受的解决方案。

我正在玩 Raspberry Pi,目前有 6 个我想在我的一些个人属性(property)中用于监视目的。

让它们工作并将视频流发送到我的服务器很容易,很好,但我究竟如何将代码更新部署到这些不在同一网络上的“节点”,有些在 wi-fi 后面我也没有端口转发访问权限的网络,所以我不能只转发和 SSH 到它们并运行一些 .sh 魔法来更新东西。

我想出的最好办法是使用 autossh 来保持常量,通过反向 ssh 打开到我的一台服务器的连接,然后通过我的父服务器并行 ssh 到它们并在它们上运行 .sh 脚本当我想更新时.. 但这似乎太过分了,我确信有一些解决方案或平台可以解决这个问题 - 例如 Redbox 或 Nest 这样的公司如何远程更新他们系统上的固件?

最佳答案

我实际上正在做类似的事情。我在我居住的城市周围部署了 Pi。为了不必担心端口转发和人们更改路由器配置,我开始使用名为 Pagekite http://pagekite.net/ 的服务。

我不隶属于他们,但我不能对他们的服务和价格说太多好话。我的 Pi 连接到需要在特定时间显示特定内容的屏幕,无论 Pi 在哪里,我都可以很容易地进入 VNC 以查看当前正在播放的内容。我显然也可以通过 ssh 登录。

我的 pi 安装指南中的以下步骤涉及安装 pagekite 并让它在启动时启动:

  1. echo deb http://pagekite.net/pk/deb/ pagekite 主要 | sudo tee -a/etc/apt/sources.list
  2. sudo apt-key adv --recv-keys --keyserver keys.gnupg.net AED248B1C7B2CAC3
  3. sudo apt-get 更新
  4. sudo apt-get install pagekite
  5. sudo leafpad/etc/pagekite.d/10_account.rc将 NAME.pagekite.me 替换为风筝的名称将 YOURSECRET 替换为来自 pagekite 管理控制台的任何 secret 删除“abort_not_configured”行及其上方的注释
  6. sudo cp/etc/pagekite.d/80_sshd.rc.sample/etc/pagekite.d/80_sshd.rc
  7. sudo invoke-rc.d pagekite restart
  8. 须藤重启

这假设您已经创建了一个帐户并设置了一个“风筝”

我认为您基本上需要一个可靠的反向隧道,例如 Pagekite,特别是如果您计划扩展您的网络,因为它会在一定规模下变成一场噩梦。我相信我只是要保留一个 ssh 用户名、ssh 密码和 pagekite 地址的列表,然后编写一个循环遍历它们的脚本,并使用 rsync 将我的本地目录与新代码同步到 pi 上的远程目录。

关于linux - 如何将代码部署到所有位于不同网络上的硬件节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33818445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com