2016-02-19 4 views
2

У меня ранее было приложение Node на веб-приложении Azure, которое теперь является приложением Go. Проблема заключается в том, когда я раскрываю я получаю от этого Куды:Как сбросить кешированное развертывание Kudu на Azure

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"').

Это, очевидно, жалуется позже, что ни один сервер/app.js файл не найден.

Поэтому я попытался создать сценарий развертывания для своего приложения с помощью azure site deploymentscript --go.

Несмотря на то, что у меня есть GO15VENDOREXPERIMENT = 1 в настройках приложения, он жаловался на зависимости. Все мои зависимости продаются в папке/vendor.

I чем установить эту переменную внутри файла deploy.cmd, которые были сгенерированы командой azure site deploymentscript.

Все еще жалуется, что одной зависимости нет. Обратите внимание, что теперь он ищет локальное дерево поставщиков, но зависимости есть, я вижу его в репозитории Github, и я вижу его локально.

У меня есть другие приложения Go, которые были развернуты только с зависимыми от производителя зависимостями от Azure, но этот, было приложение Node ранее, просто не работает вообще.

Я даже пытался прокомментировать зависимости getter от deploy.cmd, так как все локально, эти шаги не требуются. Но даже это не сработало, потому что go build не жаловался на то, что зависимость не существует. Он находится в папке поставщика, а GO15VENDOREEXPERIMENT установлен в 1 в файле cmd и в настройках приложения.

Так каков мой вариант здесь?

Как я могу сказать Kudu использовать развертывание по умолчанию Go, возможно, тот, который работает от Azure, будет работать, поскольку у моего другого приложения нет локальных файлов .deployement и deploy.cmd.

Редактировать

Я просто тест развертывания на совершенно новый Azure веб-приложение, и приложение детектируется как приложение узла по умолчанию. Я предполагаю, что это связано с наличием package.json в корне, у меня также есть main.go, у которого есть package main как имя пакета.

Возможно, это просто deploy.cmd, который генерируется azure site deploymentscript, что не является актуальным или что-то еще? (Я обновил мою версию azure-cli только FYI, так как сначала у меня не было флага -go).

Просто для полноты здесь выход Куду при развертывании на свеже созданного приложения, получая такую ​​же ошибку, как узел одного:

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.

ответ

4

Не уверен, что причиной этого состояния, но попробуйте следующее:

  • Перейти к Kudu Console
  • Got в папку D:\home\site\deployments\tools
  • Удалить deploy.cmd и deploymentCacheKey
  • Попробуйте depoying
+0

При получении этого в первый раз я сделал rm -rf при развертывании и в репозитории y, я просто попытался развернуть на новом веб-приложении, и я получаю такую ​​же ошибку, по некоторым причинам зависимости не видны из папки/vendor –

+0

, она пытается клонировать удаленную зависимую систему: # cd.; git clone https://github.com/org/mypkg. Даже если GO15VENDOREXPERIMENT = 1, я не понимаю, что я делаю неправильно. –

+0

можете ли вы попытаться очистить кеш, как упоминает Дэвид и повторить попытку? также будет полезно выполнить разницу во всей переменной окружения, так как вы упомянули, что у вас работает другое приложение Go, чтобы узнать, в чем разница. (чтобы получить переменную среды, просто запустить «установить» на консоли отладки) –

Смежные вопросы