angular gae デプロイ

ソースツリー

project/
├ backend
│ ├ dist/
│ ├ app.go
│ └ app.yaml

└ angular-app

app.yaml

application: {アプリ名}
version: 1
runtime: go
api_version: go1.8

handlers:
- url: /(.*\.(gif|png|jpeg|jpg|css|js|ico))$
  static_files: dist/\1
  upload: dist/(.*)
- url: /(.*)
  static_files: dist/index.html
  upload: dist/index.html

app.go

package main

import "net/http"

func init() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    })
}

設定ファイル変更

angular-gae-app/.angular-cli.json

// 変更前
"outDir": "dist",

// 変更後
"outDir": "../backend/dist",

自動ビルド

angularを更新すると自動で再度ビルドされ、gae backendにdistをコピーしてくれる

ng build --prod --watch

// サブディレクトリにビルドする場合は以下
ng build --prod --deploy-url=/{ディレクトリ名}/ --watch

参考

https://qiita.com/nirasan/items/68ccb9808f3739a9c999
http://mycoderepository.org/?p=3606