如何通过git push部署Azure Go Web应用程序,将私有存储库作为依赖项?

时间:2016-01-05 18:53:41

标签: azure go azure-web-sites kudu

将具有私有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.config的HttpPlatformHandler条目进行部署。但是使用git push会更快,特别是对于非Windows团队成员。

由于

1 个答案:

答案 0 :(得分:1)

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

  1. 在本地GO15VENDOREXPERIMENT=1
  2. 上更改了env变量
  3. 已安装godep => go get github.com/tools/godep
  4. 确保您的应用通过了go build& go test
  5. Ran godep save这会将所有依赖项复制到./vendor
  6. 在我的Azure网络应用中,我还设置了环境变量GO15VENDOREXPERIMENT=1
  7. git推,瞧。
  8. 起初我没有在我的Azure应用程序上设置环境变量,因此依赖性解析器没有查看./vendor,将其变为1修复所有内容。