如何在与 app.yaml 不同的文件夹中上传 Google App Engine (Go) 项目

我的项目具有以下结构:


| appengine

|---- app.yaml

|---- myScript.go

| bower_components

|----|...

| build

|----|images

|----|----|branding

|----|----|---- favicon.ico

|----|styles

|----|----|*.css

|----|index.html

| src

| ...

我想在运行时上传构建文件夹的全部内容goapp deploy appengine。


我的 app.yaml 看起来像这样:


application: myProject

version: 0-1

runtime: go

api_version: go1


handlers:

- url: /(.*\.(gif|png|jpg|ico|js|css))

  static_files: ../build/\1

  upload: ../build/(.*\.(gif|png|jpg|ico|js|css))


- url: /.*

  script: _go_app

和 myScript.go 看起来像这样:


package myProject


import (

    "fmt"

    "io/ioutil"

    "net/http"

)


func init() {

    http.HandleFunc("/", handler)

}


func handler(w http.ResponseWriter, r *http.Request) {

    site, err := ioutil.ReadFile("../build/index.html")


    if err != nil {

        panic(err)

    }


    fmt.Fprint(w, string(site))

}

当我运行时goapp serve appengine,网站显示正常。但是,当我尝试部署它时,它只会克隆两个文件,即 appengine 文件夹中的文件。


忽然笑
浏览 141回答 1
1回答

qq_笑_17

您可以使用位于 GAE 应用程序代码目录之外的第 3 方代码保留所需的应用程序结构,但仍然可以通过符号链接 GAE 应用程序目录中的第 3 方代码文件/目录来将第 3 方代码与您的 GAE 应用程序代码一起上传所需的位置。GAE 上传/部署实用程序知道替换符号链接并上传符号链接指向的实际文件/目录,而不是在相应的位置。
打开App,查看更多内容
随时随地看视频慕课网APP