gpt4 book ai didi

azure - 如何在 Azure 上重置 Kudu 缓存部署

转载 作者:IT王子 更新时间:2023-10-29 00:40:21 25 4
gpt4 key购买 nike

我以前在 Azure Web App 上有一个 Node 应用程序,现在是一个 Go 应用程序。问题是当我部署时我从 Kudu 得到这个:
Using cached version of deployment script (command: 'azure -y --no-dot-deployment -r "D:\home\site\repository" -o "D:\home\site\deployments\tools" --node --sitePath "D:\home\site\repository"').
这显然后来提示没有找到 server/app.js 文件。

所以我尝试使用 azure site deploymentscript --go 为我的应用程序生成部署脚本.

即使我在应用程序的设置中设置了 GO15VENDOREXPERIMENT=1,它也提示依赖项。我所有的依赖项都在/vendor 文件夹中。

我在 deploy.cmd 中设置了这个变量由 azure site deploymentscript 生成的文件命令。

它仍然提示一个依赖项不存在。请注意,现在它正在搜索本地 vendor 树,但依赖项在那里,我可以在 Github 存储库中看到它,我也可以在本地看到它。

我有其他 Go 应用程序在 Azure 上使用 vendor 依赖项部署得很好,但这个应用程序以前是一个 Node 应用程序,根本无法工作。

我什至试图评论 deploy.cmd 中的依赖项 getter ,因为都是本地的,所以不需要这个步骤。但即使这样也不起作用,因为 go build未能提示依赖不在那里。它位于 vendor 文件夹和 GO15VENDOREEXPERIMENT 上在 cmd 文件和应用程序设置中设置为 1。

那么我在这里的选择是什么?

我如何告诉 Kudu 使用 Go 默认部署,也许来自 Azure 的可以工作,因为我的另一个应用程序没有本地 .deployementdeploy.cmd文件。

编辑

我刚刚对一个全新的 Azure Web 应用程序进行了测试部署,默认情况下该应用程序被检测为 Node 应用程序。我猜这是由于根目录中存在 package.json,我还有一个 main.go,它有 package main作为包名。

所以也许它只是 deploy.cmdazure site deploymentscript 生成那不是最新的还是什么? (我更新了我的 azure-cli 版本,仅供引用,因为起初我没有 --go 标志)。

为了完整起见,这是在新创建的应用程序上部署时 Kudu 的输出,得到与 Node one 相同的错误:

remote: Resolving dependencies
remote: # cd .; git clone https://github.com/org/mypkg D:\local\Temp\8d3397e1e014401\gopath\src\github.com\org\mypkg
remote: Building Go app to produce exe file
remote: Cloning into 'D:\local\Temp\8d3397e1e014401\gopath\src\github.com\org\mypkg'...
remote: fatal: could not read Username for 'https://github.com': Bad file descriptor
remote: package github.com/org/pkg/lib: exit status 128
remote: azureapp\main.go:3:8: cannot find package "github.com/org/pkg/lib" in any of:
remote: D:\local\Temp\8d3397e1e014401\gopath\src\azureapp\vendor\github.com\org\pkg\lib (vendor tree)
remote: Copy files for deployment
remote: D:\Program Files\Go\1.5.3\src\github.com\org\pkg\lib (from $GOROOT)
remote: D:\local\Temp\8d3397e1e014401\gopath\src\github.com\org\pkg\lib (from $GOPATH)
remote: KuduSync.NET from: 'D:\home\site\repository' to: 'D:\home\site\wwwroot'
remote: Could Not Find D:\home\site\repository\azureapp.exe
remote: Copy web.config
remote: web.config already existed. Skip
remote: Finished successfully.
remote: Running post deployment command(s)...
remote: Deployment successful.

为什么它试图克隆库,这里的这一行 [第二行] 可能是导致整个问题的原因:
remote: # cd .; git clone https://github.com/org/mypkg
为什么如果 SET GO15VENDOREXPERIMENT=1设置它正在尝试克隆依赖项吗?我的另一个 Go 应用程序没有这样做。

最佳答案

不确定是什么导致了这种状态,但请尝试以下操作:

  • 转至 Kudu Console
  • 进了D:\home\site\deployments\tools文件夹
  • 删除 deploy.cmddeploymentCacheKey
  • 尝试部署
  • 关于azure - 如何在 Azure 上重置 Kudu 缓存部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35515920/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com