通过 Github 操作自动将 docker 容器更新到最新镜像版本的最佳方法是什么?

通过 Github 操作自动将 docker 容器更新到最新镜像版本的最佳方法是什么?

我有一台服务器,我将许多个人项目部署到该服务器上。这些项目存储和构建在 Github 上,并通过 Github 操作自动部署。我最初是通过SSH 部署操作,它会将更新的应用程序 rsync 到服务器,然后重新启动其 systemd 单元。不过,我决定尝试将所有项目容器化,以便于管理。我创建了一个私有容器注册表,此工作流程它将构建应用程序并将其发布到私有注册表。这一切都很好,但是我必须手动登录服务器并重新创建容器才能实际部署最新版本。我正在尝试通过 Github 操作自动执行此操作。

我知道 Watchtower,但我的理解是它只是定期检查注册表以确保它是最新版本。这对我来说并不理想,因为我希望容器立即更新。如果 watchtower 有某种 webhook,我可以从 Github 上点击提示它图像已更新,那就太好了。如果没有,或者有更好的方法,请告诉我你的想法。

提前致谢

答案1

我想出了两个解决方案

1:使用 appleboy/ssh-action 通过 ssh 进入服务器并运行脚本

2:使用portainer的websocket功能

相关内容