【问题标题】:How do I set up a Raspberry Pi 3 B+ to Auto Deploy updates to a private Github Repo?如何设置 Raspberry Pi 3 B+ 以自动将更新部署到私有 Github 存储库?
【发布时间】:2018-11-14 01:19:15
【问题描述】:

我购买了一个 Pi 3 B+,并希望让它从私人 github 存储库自动克隆/部署新推送(来自不同的机器)。我只是想知道我会怎么做。我知道我需要一个 github 网络挂钩,但我不知道从哪里开始。 Pi 将在一个我不想经常去更新我的代码的地方,所以这会让一切变得更容易。谢谢

【问题讨论】:

  • 欢迎来到 StackOverflow!请遵循我们在 How to Ask a Question 上的指南,以提高您获得良好回复的机会。

标签: github raspberry-pi3 webhooks


【解决方案1】:
  1. 您需要将您的存储库克隆到您的树莓派

    git clone git@github.com:your-username/your-repo-name.git

  2. 然后在启动脚本之前,您只需将新版本从 github 拉到本地存储库并运行更新的脚本 git pull origin master

启动脚本示例:

#!/bin/bash
cd /your-local-repository-path/
git pull origin master
python your-script.py &

别忘了让启动脚本可执行sudo chmod 755 starting-script.sh

然后你可以运行你的启动脚本/.starting-script.sh

它应该在运行之前将最新版本的远程存储库拉到您的本地存储库。

希望对你有帮助。

【讨论】:

  • 谢谢!我更具体地研究如何做到这一点,以便一旦我在另一台机器上推送更新,它就会自动拉取它并重新启动修订。
  • 好的。那么我向你推荐这些文章:How to check, if your repository is up-to-dateHow to restart script itself。您可以在循环等的某个时间间隔内检查 git。如果我的回答对您有帮助,请将其标记为解决方案。谢谢。
  • 非常感谢您提供这些文章!你知道如何用 github 建立一个 webhook 来和我的 rPi 通信吗?
【解决方案2】:

也许这可以帮助其他人。

Git-Auto-Deploy 包含一个小型 HTTP 服务器,用于侦听从 GitHub、GitLab 或 Bitbucket 服务器发送的 Webhook 请求。此应用程序允许您在每次将新提交推送到存储库时持续自动部署项目

【讨论】:

    【解决方案3】:

    我想通了。我刚刚创建了一个本地 Jenkins 服务器并使用了一个插件来自动从 webhook 中提取 repo。为了设置 webhook,我让本地 Jenkins 服务器可用于互联网,以便插件能够捕获 webhook。

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多