azure - 如何使用私有(private)存储库作为依赖项通过 git Push 部署 Azure Go Web 应用程序?

标签 azure go azure-web-app-service kudu

将 Go 应用程序部署到以私有(private) GitHub 存储库作为依赖项的 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)

我之前使用 web.config 的 HttpPlatformHandler 条目通过 FTP 进行部署。但使用 git Push 速度更快,尤其是对于非 Windows 团队成员。

谢谢

最佳答案

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

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

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

关于azure - 如何使用私有(private)存储库作为依赖项通过 git Push 部署 Azure Go Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34619209/

相关文章:

azure - 无法在配置了 ACS 进行身份验证的 MVC 4 应用程序中显示主页?

Azure B2C Graph API - 强制用户在下次登录时更改密码

Golang 分组并在 goroutine 中按值合并

azure - 有人在 Azure 应用服务中安装了 OPA(开放策略代理)Docker 容器吗?

Azure 数据工厂 - HTTP 链接服务的动态 URL?

go - 运行 go build 时出错。带有日志存储库

go - 为什么 http.Get ("http://[::]:1234") 有效?

visual-studio - CosmosDB项目布局

powershell - 如何从应用服务的 Azure 备份中排除子文件夹/目录?

asp.net-mvc - 从 Windows Azure 连接到 VPN