Angular 部屬至 GCP

Chung-chun Lo
Skyler Record
Published in
3 min readMay 11, 2020

GAE

接者上篇將 Go 部屬至 Heroku 完成了後端後今天我們來搞前端的部屬拉。這次選擇的是使用 GAE 也就是 Google Cloud Platform 中的 APP Engine 服務,GAE 其實就是一種 Serverless 的服務主打著不需要管理基礎架構、流量、Security 等問題。

開發人員只需要專心在程式開發上其餘的一切 GAE 都會幫你搞定,且目前主流的語言都有支援,如 : Java、PHP、Node.js、Python、C#、Net、Ruby 及 Go 等。

據說就連 PokemonGo、AngryBirds、Snapchat等都是 GAE 的使用者呢。

介紹完 GAE 我們現在開始來進行 Angular 的部屬拉

首先先將專寫好的 Angular 進行構建,進入 Terminal 輸入指令

$ ng build --prod

構建完成後會再專案根目錄中多出一個 dist 的資料夾

再來進入到 GCP 的控制台點選左方 tool bar 的 Storage -> 建立值區 -> 輸入你想要的名稱像我的是upload-image487(隨便亂打的)

在本機建立一個 app.ymal 這個檔案主要是用來 App Engine 應用的設置。此文件指定網址路徑如何與請求處理程序和靜態文件相對應。應用中的每項服務都有其專屬的 app.yaml 文件,該文件充當其部署的描述符。

選擇剛剛的值區後將剛剛 Angular Build 的 dist 裡面的資料夾和 app.ymal 上傳

點選右上角的 Cloud Shell 然後建立一個資料夾我這取名叫 angular-2,接著將剛剛 Storage 的檔案複製到該資料夾中,再來就可以 Deploy 拉

$ mkdir angular-2
$ gsutil rsync -r gs://upload-image487 ./angular-2
$ cd angular-2
$ gcloud app deploy

最後在你的 App Engine 的服務內就會有一個 default 的服務按下去之後就可以看到你 Deploy 的網站了,相較要用 Nodejs 或是 Nginx 包成 Docker 再傳至平台。我個人是覺得這樣的方式比較方便一點。

以下再附上前篇將 Go 部署至 Heroku 的教學以及前端的 Code 給大家參考。

--

--