Публикация в Google Cloud Compute Engine через Visual Studio - удаление живых файлов - PullRequest
0 голосов
/ 04 июля 2018

У меня есть проект, который я развертываю в Visual Studio 2015 в Google Compute Engine через Google Cloud Tools для Visual Studio.

Все это работает довольно хорошо, за исключением одного:

У меня есть папка с загруженными ресурсами на «живом» сайте. Это содержит изображения, загруженные через сайт онлайн. Моя локальная копия в VS не имеет всех этих ресурсов, но структура папок зеркально отражена.

Проблема

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

Я хочу, чтобы действие «Публикация» игнорировало эту папку, поскольку ее версия на живом сервере не должна быть затронута. Я могу это сделать??

1 Ответ

0 голосов
/ 09 июля 2018

Начиная с Google Cloud Tools для Visual Studio версии 1.4.0, нет хорошего способа сделать это. Расширение вызывает MSDeploy с набором жестко закодированных аргументов.

Обходной путь, который я бы предложил, - это использовать профиль публикации MSBuild.

Перед созданием профиля вам потребуется общедоступный IP-адрес вашей виртуальной машины GCE, а также настройка имени пользователя и пароля для этой виртуальной машины. Вы можете получить их в Google Cloud Explorer. Публичный IP-адрес находится в свойствах виртуальной машины, и вы можете получить имя пользователя и пароль из «Управление учетными данными Windows ...» в контекстном меню виртуальной машины.

Теперь для создания профиля. Щелкните правой кнопкой мыши свой проект и выберите «Опубликовать ...» . Выберите «IIS, FTP и т. Д.» и нажмите «Создать профиль» . Используйте общедоступный IP-адрес вашей виртуальной машины в качестве сервера, а также имя пользователя и пароль, которые вы получили ранее.

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

Недостатком этого решения является необходимость обновления целевого IP-адреса при изменении публичного IP-адреса виртуальной машины.

P.S. Следующая версия Google Cloud Tools для Visual Studio будет вызывать MSBuild, а не MSDeploy напрямую, поэтому вы сможете игнорировать папку, изменив файл сборки.

...