CLASSFUNC BLOG
We Share Our Knowledge
Deploy strapi to google app Engine
Thanh Nguyễn
10 Th09 2020 04:53

##Đầu tiên sẻ tạo mới Strapi prject bằng lệnh sau:

`yarn create strapi-app my-project --quickstart`

  • Initial commit: commit đầu tiên
`cd my-project
git init
git add .
git commit -m first`
  • Cài đặt CLOUD SDK CLI tool

(Note: *Bạn phải có project trên gcl nhé)

gcl*: Google Cloud Platform

  • Tạo một App Engine bạn có thể tham khảo tại đây

  • Kiểm tra gcloud danh sách project.

để kiểm tra xem cgloud đã có trong dự án của mình hay chưa ta cách chạy lệnh

`gcloud projects list`

tiếp theo ta đăng ký auth và cli:

`gcloud init`

rồi làm theo hướng dẫn nhé .!

  • Tạo cơ sở dữ liệu (ở đây ta dùng PostgreSQL) Bạn có thể tham khảo ở đây nhé

  • Tạo app.yaml và .gcloudignore

file app.yaml có dạng như thế này

`runtime: nodejs10

instance_class: F2

env_variables:
  HOST: '0.0.0.0'
  NODE_ENV: 'production'
  DATABASE_NAME: 'strapi'
  DATABASE_USERNAME: 'postgres'
  DATABASE_PASSWORD: '<password>'
  INSTANCE_CONNECTION_NAME: '<instance_identifier>'

beta_settings:
  cloud_sql_instances: '<instance_identifier>'`

coppy paste và custom theo database của bạn nhé còn đây là file app.yaml của mình

alt

file * .gcloudignore* có dạng như này

`app.yaml
.gcloudignore
.git
.gitignore
node_modules/
#!include:.gitignore`

của mình

alt

*Tiếp theo ta cấu hình database

chạy lệnh sau

`yarn add pg`

bây giờ hãy chỉnh sửa database.js theo đường dẫn config/database.js

thay đoạn code sau vào database.js

`module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'postgres',
        host: `/cloudsql/${env('INSTANCE_CONNECTION_NAME')}`,
        database: env('DATABASE_NAME'),
        username: env('DATABASE_USERNAME'),
        password: env('DATABASE_PASSWORD'),
      },
      options: {},
    },
  },
});`
  • Tiếp theo trong pakage.json bạn thêm
`  "scripts": {
    "gcp-build": "strapi build"
  }
}`

Bây giờ ta deploy nhé

`gcloud app deploy app.yaml --project <project-name>`

Hãy xem thành quả của bạn nhé..!!!!

Link tham khảo :https://cloud.google.com/sql/docs/postgres/create-manage-databases