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