内容简介:您也可以一併在如果您的圖片權限異常
事前準備
-
於 Google Cloud Platform 主控台建立專案。
-
為專案啟用計費功能,如果您尚未啟用,請立即 啟用計費功能
-
設定本機 Rails 環境,本文假設您對於 Rails 的部分已有足夠的理解,故不在此增加冗余的介紹
啟用 Cloud SQL Admin API
立即啟用 或使用指令介面:
# 切換專案 $ gcloud projects list $ gcloud config set project <project_id> # 查詢服務 $ gcloud services list --available # 啟用 $ gcloud services enable sqladmin.googleapis.com
建立 Cloud SQL Instance 和 Database
安裝 gem
$ bundle add pg # 如果尚未安裝 $ bundle add appengine
設定資料庫連線
# 取得 Cloud SQL 資料庫資訊 $ gcloud sql instances describe <instance_name>
# config/database.yml production: adapter: postgresql encoding: unicode pool: 5 timeout: 5000 username: "[YOUR_POSTGRES_USERNAME]" password: "[YOUR_POSTGRES_PASSWORD]" database: [your_database_name_production] host: "/cloudsql/[YOUR_INSTANCE_CONNECTION_NAME]"
您也可以一併在 app.yaml
中加入 env_variables
。
Active Storage 設定
# config/storage.yml google: service: GCS project: [YOUR_PROJECT_ID] credentials: <%= ENV['GOOGLE_APPLICATION_CREDENTIALS'] %> bucket: [YOUR_BUCKET_NAME]
如果您的圖片權限異常 SignedUrlUnavailable
可以取得 credential.json
再試試。
- 控制台 > APIs & Services > Credentials > Create credentials > Service account key > App engine default service account > JSON > Create 。
# config/storage.yml
google:
service: GCS
project: website
credentials: <%= Rails.root.join("your/path.json") %>
bucket: [YOUR_BUCKET_NAME]
設定 app.yaml 部署至 App Engine
App Engine 彈性環境使用 app.yaml
描述部署環境設定,在 Rails 專案根目錄加入 app.yaml
entrypoint: bundle exec rackup --port $PORT env: flex runtime: ruby # Rails 5.2+ 之後使用 config/master.key env_variables: RAILS_MASTER_KEY: [MASTER_KEY] beta_settings: cloud_sql_instances: [YOUR_INSTANCE_CONNECTION_NAME]
設定完成後執行下列指令:
$ gcloud app create $ RAILS_ENV=production bundle exec rails assets:precompile $ gcloud app deploy # 取得專案資訊 $ gcloud info # 瀏覽 $ gcloud app browse # OR $ gcloud app browse -s <service_name> # 讀取日誌 $ gcloud app logs read $ gcloud app logs tail $ gcloud app logs tail -s <service_name>
授予 appengine RubyGem 權限,執行 Migration
$ gcloud projects list $ gcloud projects add-iam-policy-binding [YOUR-PROJECT-ID] \ --member=serviceAccount:[PROJECT_NUMBER]@cloudbuild.gserviceaccount.com \ --role=roles/editor] $ bundle exec rake appengine:exec -- bundle exec rake db:migrate
其他資源與參考
# 取得用於驗證 GCP 服務的本機憑證。 $ gcloud auth application-default login # Stackdriver # Add this to config/environments/*.rb Rails.application.configure do |config| # Stackdriver Logging specific parameters config.google_cloud.logging.project_id = "YOUR-PROJECT-ID" config.google_cloud.logging.keyfile = "/path/to/service-account.json" end
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ant Colony Optimization
Marco Dorigo、Thomas Stützle / A Bradford Book / 2004-6-4 / USD 45.00
The complex social behaviors of ants have been much studied by science, and computer scientists are now finding that these behavior patterns can provide models for solving difficult combinatorial opti......一起来看看 《Ant Colony Optimization》 这本书的介绍吧!