【问题标题】:continuous deployment with github pages and GAE python使用 github pages 和 GAE python 持续部署
【发布时间】:2012-01-03 13:40:56
【问题描述】:

我有一个由谷歌应用引擎托管的网站。我已经将所有的 html 文件推送到了 github pages repo,接下来我想做的是以某种方式让 GAE 监听我的 github 的更改。就像每次我提交新内容一样,GAE 将根据更改自行部署。 我听说过 drydrop,但那时 github 页面还不存在。

那么接下来我该怎么做?我已经设置了一个 post-receive url ,这是我的 apppot 网站,通过 github 的服务挂钩,将 CNAME 文件添加到我的 repo 中,其中包含我的 apppot url。不确定这是否有必要。

我在这方面搜索了很多,但没有一个真正回答我的问题。或者我只是不知道正确的搜索词。

提前致谢

【问题讨论】:

  • 总而言之,你只想发布一次代码,它会神奇地出现在两个地方吗?建议:更新 appcfg.py 以包含对 github 的推送(任何人都有更好的主意,而不是我的创可贴答案)
  • 是的,我的意思是,当我向 github 提交一些内容时,它也会以某种方式部署到 GAE...也许要求有点过分
  • drydrop 常见问题解答说“GitHub Pages 解决了“将 GitHub 存储库实时托管为自定义域上的静态站点”的相同需求。我在宣布 GitHub Pages 和 GitHub Pages 之前就开始了这个项目有点过时了,特别是因为它们支持 jekyll,这很酷。”。鉴于此,您想使用 App Engine / DryDrop 有哪些功能,而 Github 页面没有?
  • @NickJohnson 如果我错了,请纠正我。我希望 Github 页面没有但 DryDrop 具有的功能是 DryDrop 允许我能够根据我通过 Github 所做的提交来部署我的 apppot 站点。我阅读了常见问题解答,这就是为什么我认为 Github 页面必须能够在没有 DryDrop 的情况下做到这一点,但现在我做不到。至少我不知道如何将 github 页面定向到我的应用程序域,即使我已经包含了 CNAME 文件。
  • @BPm 但是,如果 Github 页面已经提供了你需要的一切,你为什么还要部署到 App Engine 上呢?

标签: google-app-engine github


【解决方案1】:

你真的想通过这些额外的努力来实现你想要的功能吗? 如果我理解正确,这就像你想要一个带有“部署到 apppot”的 github 或 googlecode 按钮,从技术上讲,如果你真的想要,我认为这是可行的,但几年前我建议将此作为 googlecode 的一项功能:可编辑存储库,其中 google从最近开始,以便您可以直接在存储库中编辑文件,我还建议直接从 googlecode 部署,就像一个按钮说“将我的项目部署到 apppot”,然后我们不再需要本地开发。

然而,故事是他们放弃了该功能请求,我可以理解为什么,因为很多事情都可能出错,并且您的存储库可能不是一个标准的部署位置,因为将文件包含到项目中并不少见不在存储库中,如果您有一些代码部分,您必须在部署前稍作更改而不对该代码进行版本控制,即您需要部署而不将其置于源代码控制中的密码或密钥,这似乎是不可能的。

我将这个想法称为“3in1”:存储库可以三合一:1)版本控制 2)编辑文件和 3)部署文件,其中只有第一个是存储库的核心功能。

如果您真的想启用此功能,您可以设置一个运行 cron 作业的计划部署机器,以便从您的存储库中获取最新代码并在它发生更改时部署它。

【讨论】:

  • 感谢您的解释。我只是想能够做同样的事情,比如drydrop drydrop.binaryage.com ...听起来很酷
猜你喜欢
  • 2018-06-16
  • 2018-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
  • 2015-09-01
相关资源
最近更新 更多