Развертывание слота функций Azure из Visual Studio развертывает Production - PullRequest
0 голосов
/ 11 июня 2018

Short: Как создать профиль публикации в Visual Studio, который развертывает слот развертывания против рабочего слота?

Long: В тот момент, когдавы получаете вызов Sev1, говорящий, что производство отключено, и вы знаете, что за несколько минут до того, как вы просто запустили развертывание в слот развертывания интеграции.Да, это то, что только что произошло со мной, и, судя по всему, я не могу это объяснить.

Итак, у нас есть один слот развертывания для нашего приложения-функции Azure с именем «Int».При создании профилей публикации я просто использовал мастер «Создать новый профиль» в Visual Studio и выбрал «Выбрать существующую» службу приложений Azure, а затем развернул в слоте развертывания «Int».Казалось, довольно прямо вперед.Хорошая работа приводит к тому, что оба Int И Production будут развернуты.Это, безусловно, было неожиданно и явно катастрофически.

После некоторого поиска на портале, который я обнаружил в разделе «Обзор» нашего приложения-функции Azure, есть кнопка «Загрузить профиль публикации».Щелкнув его для Production, а также для INT, можно получить два отдельных файла с разными пользователями, destinationAppUrls и т. Д. Единственное, что было одинаковым между ними, - это FTP publishUrl, но я предполагаю, что сервер будет маршрутизироваться в соответствующий корень на основепереданы учетные данные.

Несмотря на то, что у меня есть два уникальных профиля публикации, один для prod и один для int, при развертывании любого из них обновляются как рабочий, так и наш слот развертывания.

Вот список вещей, которые я пытался исправить самостоятельно, но безрезультатно:

  1. Удалил оба профиля публикации из Visual Studio и заново создал их с помощью мастера.
  2. Удаленои публикации профилей из Visual Studio, и воссоздание их через загруженные профили с портала.
  3. Удалил профиль публикации INT, создал нового пользователя FTP на портале для нашего слота развертывания INT, обновил загруженный профиль для INT,затем импортировал его в Visual Studio.<== Честно говоря, я думаю, что это было глупо, потому что я не думаю, что VS использует FTP для развертывания.Хотя я могу ошибаться. </li>
  4. Гарантировано, что автозапуск выключен.
  5. Использовал FTP-клиент для входа в систему с учетными данными публикации.Оказывается, даже несмотря на то, что в Production и Int разные «пользователи развертывания FTP» входят в систему в качестве одной из точек в одном и том же месте.(В конечном итоге это, похоже, проблема)
  6. Нажмите "Сбросить профиль публикации" в слоте развертывания и повторно загрузите профиль.

Кроме потери функции автоматической смены, которую ядаже не теряя, я полагаю, что одним из способов обойти это было бы создание совершенно отдельного приложения, заставляя его работать должным образом.Я действительно хочу избежать этого, если это возможно.

Заранее спасибо за помощь здесь.

1 Ответ

0 голосов
/ 12 июня 2018

Этого не должно быть, но, если бы мне пришлось угадывать, у вас должны быть одинаковые значения для WEBSITE_CONTENTAZUREFILECONNECTIONSTRING и WEBSITE_CONTENTSHARE, определенные в обоих приложениях.Первая - это учетная запись хранения, в которой будет сохранено содержимое вашего приложения, а вторая - имя общего ресурса в этой учетной записи хранения.Это нормально для обоих - использовать один и тот же WEBSITE_CONTENTAZUREFILECONNECTIONSTRING, но если вы также поделитесь одним и тем же WEBSITE_CONTENTSHARE, то вы получите странное поведение, которое вы видите.

Обычно, когда вы создаете приложение функции с помощью инструментов, оно должно создавать новый общий ресурс со случайным именем для каждого приложения.Если вы развернете, используя шаблон ARM или другой метод, и установите оба этих параметра одинаково, вы столкнетесь с таким поведением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...