Google Apps 脚本 - 部署为 Webapp - 每次都是新版本?

Google Apps Script - Deploy as Webapp - new version every time?

我对 Code.gs 文件所做的更改似乎无法识别,除非我在新版本下部署为 webapp。这是设计的行为还是我在其他地方做错了什么?

这个答案怎么样?请将此视为几个答案之一。

在部署Web Apps的项目中,当修改项目中的脚本时,需要重新部署Web Apps为新版本。由此,最新的脚本被反​​映到Web Apps。这是正常规格。我认为这种情况可能应该将开发脚本和稳定脚本分开。

自动将最新脚本反映到 Web 应用程序

有几种方法可以在修改脚本时自动将最新的脚本反映到Web Apps。

1。使用开发者模式

使用开发者模式时,Web Apps可以使用最新的脚本,无需重新部署为新版本。当您部署 Web 应用程序时,您可以看到 "latest code" 其中有一个 link。 URL 类似于 https://script.google.com/macros/s/###/dev。通过使用这个URL,修改脚本后,您可以在Web Apps使用最新的脚本。

重要的一点是,当您使用它时,请使用访问令牌。通过此,您可以访问 Web 应用程序。示例卷曲可以在 here.

处看到

2。使用库

如果想像https://script.google.com/macros/s/#####/exec一样使用URL自动使用最新的脚本,可以使用库来实现。准备工作如下

  1. 创建 2 个项目,即项目 "A" 和项目 "B"。
    • 项目"A"用作部署Web Apps的项目。项目 "B" 用作 GAS 库。
  2. 在项目 "A" 中,安装项目 "B" 作为 GAS 库。届时,将"Development mode"设置为"Turn ON"。
  3. 在项目 "A" 中放置函数 function doGet(e) {return library.run(e)}
    • 本例中库名假设为library.
  4. 在项目 "B" 中放置函数 function run(e) { do something }
    • 如果要修改Web Apps的脚本,请修改Project "B"的脚本。

通过以上设置,当项目"B"的脚本被修改时,最新的脚本会自动反映到Web Apps。这样,就不需要重新部署为新版本了。

参考文献:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

如果您正在尝试更新部署并希望保持 不变 URL,以下是截至 2021 年 3 月的操作方法:

  • 部署 -> 新部署每次都会创建一个新的 URL。我相信目的是在不中断主版本的情况下可以测试多个版本的程序。

你想要这个:

  • 部署 -> 管理部署:在左上角的“活动”下,确保您选择了正确的部署(将鼠标悬停在 URL 上以查看全部内容)
  • 然后单击右上角的铅笔图标以编辑此部署。单击“版本”下拉框和“新版本”。然后“部署”。这将使用您的最新代码更新此版本并保持相同 URL 因为您没有进行新部署(只是更新)!不幸的是,这在我能找到的任何地方都不是很清楚。

如果您有许多其他不想要的活动,您可以将它们存档(图标就在铅笔旁边)。 如果您存档了您过去实际使用的 URL,您可以通过在“已存档”下点击它,然后点击铅笔图标,然后点击部署,将其恢复。

  • 在 Deploy -> Test deployment 下,你有你的 /dev 版本,这是你最新的代码(就像旧的编辑器一样)