0

我有一个 PHP + React JS 应用程序,我正在尝试通过 Google App Engine Standard 进行部署。我已经将 app.yaml 设置为使用 php73,尽管我使用 Webpack 通过 yarn 打包 JS(实际上是使用 Symfony Encore,但这不重要)。

目前,我在本地使用 webpack 并将这些文件推送到 GAE 作为解决方法,但我宁愿将它们打包在 GAE 本身上。我是否能够以某种方式执行 shell 命令,gcloud app deploy以便纱线执行我想要的脚本?是否创建一个运行 nodejs 的单独服务,以便它执行package.json必要的脚本,然后部署 PHP 和 nodejs 服务?

4

1 回答 1

0

您可以通过在 package.json 中添加“gcp-build”脚本在 Google App Engine中运行自定义构建步骤。

例子:

  "scripts": {
    "prepare": "npm run gcp-build",
    "pretest": "npm run gcp-build",
    "test": "repo-tools test app -- index.js",
    "posttest": "npm run lint",
    "lint": "tslint -p .",
    "start": "node ./index.js",
    "gcp-build": "tsc -p .",
    "deploy": "gcloud app deploy"   }

此外,您还可以设置运行时使用纱线安装特定的依赖项,通过使用yarn add PACKAGE“yarn.lock”文件是自动生成的。如果 App Engine 在应用程序目录中找到“yarn.lock”,将使用 Yarn 执行 npm 安装

我还建议您查看以下社区教程:

除了检查Symfony 演示应用程序代码之外,这可能是一个很好的例子。

于 2019-12-02T12:36:07.940 回答