Как развернуть strapi на облачной платформе Google?

Я пытаюсь развернуть strapi на движке облачных приложений Google (стандартный env), но продолжаю получать ошибку сервера 500. Я искал в Google все, но не было написано никаких руководств по успешному развертыванию strapi на AE.

Я попробовал предложения в этой теме: https://github.com/strapi/strapi/issues/2146 Итак, у меня есть:

  • сценарий gcp-build для установки зависимостей
  • точка входа в app.yaml для запуска strapi
  • мои database.json и server.json в strapi обновлены

Но, похоже, у меня это не работает. Я получаю следующую ошибку: log

Я попытался найти в Google эту ошибку «приложение / недействительно», но, похоже, ничего не нашел по этому поводу.

Я также попробовал flex env, но это тоже не удалось (без надлежащей ошибки).

Это мой файл app.yaml:

runtime: nodejs10
instance_class: F2
service: admin
entrypoint: node_modules/strapi/bin/strapi.js
env_variables:
  DATABASE_HOST: "host"
  DATABASE_PORT: 27017
  DATABASE_NAME: "db"
  DATABASE_USERNAME: "name"
  DATABASE_PASSWORD: "pw"
  DATABASE_SRV: true
  DATABASE_AUTHENTICATION_DATABASE: "admin"
  DATABASE_SSL: true
  NODE_ENV: "production"
  PORT: 1337

Это мой package.json (важные части):

...
  "scripts": {
    "strapi": "node_modules/strapi/bin/strapi.js",
    "gcp-build": "node node_modules/strapi/lib/utils/post-install.js && cd admin && npm run setup"
  }
...
  "engines": {
    "node": ">=10.0.0",
    "npm": ">=6.0.0"
  },

производство database.json:

{
  "defaultConnection": "default",
  "connections": {
    "default": {
      "connector": "strapi-hook-mongoose",
      "settings": {
        "client": "mongo",
        "host": "host",
        "port": 27017,
        "database": "db",
        "username": "name",
        "password": "pw",
        "srv": true
      },
      "options": {
        "authenticationDatabase": "admin",
        "ssl": true
      }
    }
  }
}

И, наконец, это мой файл server.json:

{
  "host": "https://admin-dot-ootje-website.appspot.com",
  "port": 1337,
  "production": true,
  "proxy": {
    "enabled": false
  },
  "autoReload": {
    "enabled": false
  },
  "cron": {
    "enabled": false
  },
  "admin": {
    "autoOpen": false
  }
}

Я ожидал, что это работает из руководств по началу работы в AE, но, похоже, я чего-то упускаю. Кто-нибудь знает, что означает эта ошибка? У кого-то уже получилось развернуть страпи на АЕ?

Если у меня это сработает, я бы хотел добавить его в документы strapi или средний пост, чтобы другим людям было легче, чем мне :)

Заранее спасибо!


person Simon Temmerman    schedule 15.04.2019    source источник


Ответы (1)


Я думаю, ваша проблема связана с файлом server.json.

Эта конфигурация работает на моей стороне:

{
  "host": "localhost",
  "port": "${process.env.PORT || 1337}",
  "production": true,
  "proxy": {
    "enabled": false      
  },
  "autoReload": {
    "enabled": false
  },
  "cron": {
    "enabled": false
  },
  "admin": {
    "autoOpen": false
  }
}

Я работаю над новым файлом конфигурации, чтобы поставщик аутентификации работал ... и некоторые другие функции. Но эта первая версия у меня работает.

Я буду держать вас в курсе моих результатов поиска, если вам нужно.

## Обновление 1 ##

Я нашел хорошую конфигурацию для GCP в производственном режиме. Делюсь, если еще кому-то нужно:

{
  "host": "localhost",
  "port": "${process.env.PORT || 1337}",
  "production": true,
  "proxy": {
    "enabled": true,
    "ssl": true,
    "host": "[project-name].appspot.com",
    "port": 443
  },
  "autoReload": {
    "enabled": false
  },
  "cron": {
    "enabled": false
  },
  "admin": {
    "autoOpen": false
  }
}

Я использую гибкую среду на GCP, но я думаю, она будет работать в стандартном режиме.

Спасибо,

person Vanessa Pasqué    schedule 18.04.2019
comment
Спасибо за ответ! Я собираюсь попробовать это, не могли бы вы поделиться своим app.yaml? Вы используете скрипт gcp-build? - person Simon Temmerman; 22.04.2019