使用本地 yarn 工作区依赖项和生产环境(例如 App Engine)环境变量构建?

Build with both local, yarn workspace dependencies and production env (e.g. App Engine) env vars?

我一直致力于通过 Google App Engine 部署全栈应用程序。如果我尝试让 App Engine 从源代码构建,Google 的构建包显然不知道如何处理我的 Yarn 工作区依赖项 URL。所以对于客户端,我只是在本地构建并部署静态资产。没问题。 (这是 Deploying yarn workspace monorepo app with internal dependencies to Google App Engine and, more obliquely, 的部分解决方法)

这对客户端来说很好,但我 运行 遇到部署后端的问题:显然,服务器应该监听 App Engine 环境的 PORT env var。我能想到的唯一方法是部署源代码并允许通过 Google App Engine 构建它;但是,正如我提到的,这与工作区依赖项 URL 不兼容。如果我在部署到 GAE 之前在本地构建它,节点应用程序仍然运行(甚至可以执行出口),但是因为它没有监听 PORT env var,所以服务器不接受任何请求。我不想发布后端的工作区级 deps。

我敢肯定有人必须有部署节点应用程序的经验,该应用程序依赖于 Yarn 工作区级依赖项和生产环境范围环境变量。你能给我一些指导吗?

(编辑:最好采用 jonrsharpe 在上面的评论中描述的范例——即从实际生产环境(即 App Engine)中检索环境变量,而不是将它们烘焙到构建中。 )

我只需要在端口 8081 上监听(也就是说,在本地构建并将端口设置为 8081,然后部署构建的服务器)。也许 8080 被默认服务(在我的例子中是客户端)或 nginx 占用。我不太确定,但我现在要继续。