我有一個Go服務器程序,需要在運行時傳遞一個特定的gflag值,但我無法在GCP的app.yaml文件中指定它。我對 GCP 很陌生,所以這可能是一個不方便的查詢。這是我的 Go 代碼結構:project_root | |___cmd |___ main |___ main.go |___ foo_handlers.go (defines FooHandler(w, r)) |___ bar_handlers.go (defines BarHandler(w, r))main.go 是典型的戈蘭 HTTP 服務器程序,大致具有以下結構:func main() { // Flags flag.StringVar( &SomeFlagVar, "some_flag", // flag name "dev_value", // default value "Some Flag") flag.Parse() // Foo http.HandleFunc("/foo", FooHandler) // Bar http.HandleFunc("/bar/", BarHandler) // Server starting boiler plate code http.ListenAndServe(..)我的 GCP 應用程序.yaml 文件大致如下所示:runtime: go114main: ./cmd/mainhandlers:- url: /.* script: auto這工作正常,但正如你所注意到的,我無法將任何自定義值傳遞給標志?,F在,我只是將默認標志值硬編碼為在 GCP 中部署的首選值,并且我不會檢查該更改,這顯然是實現目標的一種非常粗糙的方法。some_flag我已嘗試將配置設置為:或entrypointentrypoint: ./cmd/main/main --some_flag=gcpentrypoint: .bin/main --some_flag=gcp但是對于這兩種情況,GCP都會出錯,并帶有表單的錯誤。/bin/sh: 1: exec: bin/main: not found我可以通過指定一個網絡測功機,在Heroku中非常容易地實現相同的目標,如下所示: bin/main --some_flag=heroku如何在 GCP 應用中進行相同的設置?我正在使用 GCP 標準環境。我不想使用相同的環境變量。謝謝!
無法在基仕伯中指定標志
慕工程0101907
2022-09-12 16:22:29