Вы можете использовать updateMany вместо агрегирования, как это
db.veg.updateMany({dataType: "cheese"}, {$set:{dataNum: 2}});
абсолютно. Мы используем его, чтобы сделать все наши приложения. Тем путем мы создаем установщик и выполняем его на обеспечении качества и uat средах для тестирования, и мы знаем точно, что собирается произойти в производстве. Нет никаких предположений относительно того, какой порядок кто-то мог бы выполнить в чем-то, или если они пропускают шаг. Это делает вещи намного легче.
Ох я забыл об автоматизированном процессе также. Мы имеем в распоряжении системы (Муравейник Pro), которые автоматически развертывают его на надлежащей среде. Быстродействующие люди не должны ожидать чего-то, чтобы быть сделанными, потому что это все сделано в 2:00. Если они должны повторно выполнить сборку с обновлениями, devs регистрируют код, и мы нажимаем кнопку, и это автоматически развертывается. Никакое ожидание инженера сборки, потому что он находится на встрече или болен или что бы то ни было.
Вы всегда хотите иметь автоматизированный способ создать и развернуться - он значительно уменьшает возможности одноразовой ошибки, если Вы забываете определенный шаг. Кроме того, это позволяет Вам разгружать развертывание на ком-то еще легко, не имея необходимость преподавать им 100 специализированных шагов. Является ли проект внутренним или нет, все приложения должны применить лучшие методы.
Я использую Powershell и найденный действительно легким автоматизировать много задач. Вы, вероятно, найдете немного отличающимся в самом начале, но в конце Вы будете видеть, что это - все о питании библиотек.NET!!!
Лично я немного похож на OP; обычно я просто развертываю использование FTP, но в высказывании, что обычно мои приложения являются внутренними, или в случае других проектов, 100%, управляемых мной.
Я также думал об этом в последнее время однако и начал думать о том, как использование надлежащего развертывания может улучшиться, процесс - имеющий необходимость зарегистрировать подробный процесс установки может быть реальной болью.
Да... у нас есть приложение, для которого нужно много предпосылок, настроенных.... веб-сервис, сервис окон, учетные записи пользователей, безопасность, создание папки, биты GAC и т.д.... Я свернул все это в хороший MSI с пользовательскими действиями, которые могут установить и удалить чисто. Сохраненный ценность приблизительно одного часа работы для развертывания на новом поле.
Много других малых приложений просто развертывается выполнением, Публикуют Веб-сайт к локальной папке затем ftp'ing содержание к цели.
Я имею, используют "веб-Проект Установки" для создания MSI, который установил вывод "веб-Проекта Развертывания" для внутреннего приложения. Наш администратор сервера не был до задачи к выполнению 50 установок руководства шага. Для моего текущего приложения мой администратор сервера не любит чувство 'черного квадрата' установщиков MSI и предпочитает получать груду файлов и 50 руководств по развертыванию шага. (См. шаблон здесь? Спросите своего администратора сервера, что он хочет.)
Веб-Проект Установки сразу не делает его очевидным, как установить на чем-либо кроме "Веб-сайта По умолчанию", кроме которого, это сделало процесс установки повторяемым и создало созданный способом откатывать (просто запустив установщика от 1 версию назад).
Это, конечно, предполагает, что Ваш виртуальный каталог не содержит пользователя измененное содержание - я не доверял бы MSI для надлежащего слияния пользователя созданные и новые файлы.
Мы используем "XCopy", развертывают модель здесь, так как у людей операции в секунду есть свой собственный метод установки безопасности на новом веб-приложении на сервере.
Однако мы действительно должны были использовать установщик, когда мы должны были установить веб-приложение, которое использовало более новую версию Crystal Reports, так как он должен был сделать что-то специальное с ключом, и у нас не было полноценной версии CR на самом сервере. Поэтому имейте это в виду при работе с приложениями сторонних производителей, они, возможно, должны сделать некоторый модуль слияния, который MSI обрабатывает легко.
Это во многом зависит от масштаба вашего проекта, вашей среды и вашей внутренней базы пользователей. Я редко развертываю с помощью msi, потому что мы слишком малы, чтобы иметь несколько сред (за исключением SharePoint, которые все вместе разные). Мы разрабатываем и используем VS для развертывания веб-приложений в окне разработки, предполагая, что они одобрены, затем мы снова используем VS для развертывания в интерактивном окне.
Единственное условие - у нас есть несколько копий web.config (с добавлением test, dev и live), а затем мы удаляем суффикс из соответствующего файла в зависимости от того, где он был развернут.
Это, вероятно, не лучшая методология (я знаю, что это не так), но она работает и помогает быстро развертывать небольшие и решения среднего размера в небольшой пользовательской среде.
F5TodeBug ...
Вы говорите, что это нормально, чтобы сделать короткие сокращения, если у вас нет времени, чтобы сделать это правильно?
«Кто собирается проверить код в тестовой среде?» Вы сказали это самостоятельно, что у вас есть файлы конфигурации для _test - зачем это не быть подходящим тестом?