【发布时间】:2020-12-27 12:41:42
【问题描述】:
我是云服务和 docker 的新手。
我有一个使用 Python 的 aiogram 库开发的电报机器人。我可以使用命令 python3.8 app.py 启动它。如果没有发生错误,它将永远运行。
另外,我使用一个简单的 sqlite3 文件作为数据库存储 (db.db),当我更新我的源代码时不需要更改它。
我在 Github 存储库中托管我的代码,我希望 GCP 在我提交到 master 时自动更新我的程序。
两个问题。
- 是否可以在没有 Docker 的情况下自动更新源代码? (我在 Google Cloud Platform VM Instance 上托管我的程序)
- 如果不是,如果 GCP 只会在我提交时构建一个新容器,我该如何从新容器中删除旧容器?
【问题讨论】:
-
查看 Cloud Build,遵循一些教程并开始使用。您可以在 Github 中通过提交触发构建,然后在构建中执行您想要的操作,例如将文件复制到虚拟机中,或者使用新文件创建新虚拟机并删除旧文件,...要求最后构建一个容器!然后,带着你的阻碍问题回来!
-
我可以推荐使用 Github Actions。为 GCP 创建一个具有足够范围的 api 密钥,并将其添加到您的 Github 存储库的机密中。然后设置一个动作(有很多例子和很好的文档)。您应该使用发布分支并设置操作以触发对发布分支的提交(合并例如 master 到发布时的结果)。 GCP 还提供了如何使用 API 做你想做的事的文档。
-
如果您发现一些有用的答案,请考虑支持/接受它,谢谢!
标签: docker github google-cloud-platform continuous-integration devops