Имеет ли смысл непрерывное / автоматическое развертывание для настольных приложений?
В настоящее время я начинаю читать книгу http://continuousdelivery.com/ от Humble/Farley, и хотя многие вещи имеют смысл, есть одна вещь, которая меня раздражает:
Похоже, что авторы нацелены исключительно на серверные (с одним клиентом?) Приложения (например, веб-приложения), обращаясь к тому, что нужно делать и чего не следует делать. автоматизация процесса сборки, тестирования, развертывания.
Глядя на вопросы, помеченные как непрерывное развертывание, также кажется, что этот термин используется только в контексте серверных приложений.
Итак, мне было интересно, имеет ли смысл вообще автоматизировать процесс создания настольного приложения после "установки" (говоря о приложении для Windows) для настольного компьютера? "Развертывание" настольного приложения всегда является драйвером пользователя, поэтому какой смысл иметь здесь возможность автоматизировать что-либо здесь - и, действительно, какие вещи можно автоматизировать, что имело бы смысл?
Ох, и кстати. Я совершенно не уверен, что этот вопрос лучше задать программистам. SE, так что не стесняйтесь переносить его туда, если вы думаете, что так и будет.
3 ответа
Пожалуйста, проверьте ссылку: http://timothyfitz.wordpress.com/2009/03/09/cd-for-client-software/ где говорится о непрерывном развертывании для загружаемого программного обеспечения.
Короткий ответ: да. Если вы разрабатываете собственный код, который выполняется на настольных ПК в вашей организации, то можно будет автоматически отправить последнюю сборку, которая прошла все тесты, на все клиентские ПК.
Однако вам почти наверняка нужно убедиться, что процесс развертывания не нарушит работу пользователя; это было бы то, что нужно учитывать при разработке приложения. Кроме того, вам необходимо убедиться, что ваша сеть может поддерживать отправку необходимых файлов на эти машины X раз в день. Настольные компьютеры обычно не подключены так же, как серверы.
У нас та же проблема. Мы хотели бы иметь возможность постоянно развертывать наши настольные приложения.
У Google есть библиотека с открытым исходным кодом под названием Omaha, которую они используют, чтобы молча обновить Chrome. Тем не менее, чтобы получить как можно более приятный опыт в своем собственном приложении, требуется немало усилий.
На самом деле мы создаем сервис, который, как мы надеемся, значительно упростит непрерывное развертывание любого настольного приложения. Мы пытаемся поговорить с как можно большим количеством потенциальных пользователей, чтобы убедиться, что мы создаем правильную вещь. Если вы заинтересованы, вы можете узнать больше на http://www.quietdeploy.com/
Извиняюсь за саморекламу, но, надеюсь, это представляет некоторый интерес.