2

将私有 GitHub 存储库作为依赖项的 Go 应用程序部署到 Azure 的正确方法是什么?这是来自 Kudu 的当前错误:

Resolving dependencies
# cd .; git clone https://github.com/my/privaterepo
  D:\local\Temp\8d315fa89272e69\gopath\src\github.com\my\privaterepo
Cloning into 'D:\local\Temp\8d315fa89272e69\gopath\src\github.com\my\privaterepo'...
fatal: could not read Username for 'https://github.com': Bad file descriptor
package github.com/my/privaterepo/pkg1: exit status 128
package github.com/my/privaterepo/pkg2: cannot find package $GOROOT)

Building Go app to produce exe file
azureapp\file.go:8:2: cannot find package "github.com/my/privaterepo/pkg1" 
in any of:
    D:\Program Files\Go\1.5.1\src\github.com\my\privaterepo\pkg1 (from $GOROOT)

我之前是通过 FTP 使用web.configHttpPlatformHandler 条目进行部署的。但是使用 git push 更快,特别是对于非 Windows 团队成员。

谢谢

4

1 回答 1

1

正如@Not_a_Golfer 和@Xiaomin 所说,供应依赖项是有效的,这就是我所做的:

  1. 在本地打开 env 变量GO15VENDOREXPERIMENT=1
  2. 已安装godep=>go get github.com/tools/godep
  3. 确保您的应用通过go build&go test
  4. Rangodep save这将所有依赖项复制到 ./vendor
  5. 在我的 Azure Web 应用程序上,我还设置了环境变量GO15VENDOREXPERIMENT=1
  6. git推了,瞧。

起初我没有在我的 Azure 应用程序上设置环境变量,所以依赖解析器没有在 ./vendor 中查找,将其设置为 1 修复了所有问题。

于 2016-01-07T10:22:37.160 回答