Deploy strapi to google app Engine
##Đầ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
file .gcloudignore có dạng như này
app.yaml
.gcloudignore
.git
.gitignore
node_modules/
#!include:.gitignore
của mình
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é..!!!!