Деплоймент web-сервиса?
Деплоймент web-сервиса?
До сего дня делал в ручную.
Делал не часто - между деплоями все забывается и надо смотреть по новой что и куда прописывать.
Описалово процесса - сделал, но описано не все и что-то надо ковырять и ковырять...
Чем деплоить web-сервис?
Задавать надо:
- физический путь на диске,
- логическое место на сайте
- используемый порт
- используемые базы данных
Может быть несколько мини-сервисов - надо чтобы использовали общие параметры.
Должно ставится ремотно - логин будет, но как настроить - надо смотреть.
Идеально будет - если будет брать проект/солюшен и собирать пакет.
Ну может еще чего подзабыл...
Есть какой инсталлятор для таких вещей? и, разумеется, пошаговая инструкция.
Какой у вас сервер?
------
IIS. Версию не помню, но не из самых последних.
Веб-сервис это набор классов, которые веб-сервер предоставляет в пользование.
-----
Точнее - набор интерфейсов и транспорт между системами.
Но вопрос не в составе сервиса - он написан и работает.
Вопрос в том, как с работающего сервиса получить инсталятор для инсталяции на другой системе.
Делать все руками, как было - сильно не хочется по описанным причинам.
Эээ... меня не интересует создание клиента - меня интересует деплой сервисa.
Если я не ошибаюсь, то за порт отвечает сам сервер.
-----
Да. Но вот какой именно пользовать - ему сообщается отдельно.
Вот именно это и надо делать при инсталяции.
Т.е. по дефолту - хттп на 80, но мне нужен тотже хттп, но на 8080.
Вот 8080 и надо определить при инсталяции.
Еще моментик вспомнил - асмх.
Сервис для функционирования требует наличия данных файлов и их корректного содержимого.
При этом Я точно знаю, что данный файл будет компилироваться сервером.
Хотелось бы загружать уже откомпилированную и обфусканную версию.
Когда-то это делали для сайта, но занимался не Я и Я так и не освоил как это делать...
Надо догонять...
Веб - анвендунг на это не влияет
------
Не понял.
никогда не делал веб сервисы, но для создания сложных установочных файлов пользовал это
https://www.finalbuilder.com/finalbuilder/feature-tour
в связке с установщиком.
Я только с томкэтом работал. За порт отвечает он, а не сервис. Для разворачивания сервиса НИЧЕГО делать не надо. Только разместить классы в нужной деректории сервера. И все. Вообще все. Все настройки лежат в конфигах проекта и специфичны для типа веб-про́екта. То есть они создаются и тестируются в процессе написания проекта. Базы данных вообще никаким боком к разворачиванию проекта не относятся, это глубоко специфичная для проекта вещь и доступ может быть по разному организован. Но опять же, в самом проекте.
Только разместить классы в нужной деректории сервера
-----
У мелкомягких - немного по другому.
Т.е. - можно и так же, но интересует - немного по-другому.
Файлы - да, надо разместить... при этом размещать можно не в директории сервера, а в произвольном месте, и подмапливать виртуальными папочками.
Кроме этого - у меня код не в страницах, а в библиотеках - их надо укладывать в точно определенное место.
Ну и остальное так же...
Все настройки лежат в конфигах проекта и специфичны для типа веб-про́екта.
-----
На самом деле - все еще хуже.
ИИС - "суммирует" конфиги - от корня и до папки со страничкой.
В любой папке все можно перенастроить как надо по месту.
И это тоже часть деплоймента.
То есть они создаются и тестируются в процессе написания
проекта.
-----
Проект - написан и оттестирован.
На прогерской машинке.
Теперь его надо проинсталить на тестовом сервере.
Причем там может быть несколько версий этого же проекта.
Интересует именно процедура деплоймента и доступные тоолсы...
Базы данных вообще никаким боком к разворачиванию проекта не относятся
-----
Я думаю, что у тебя несколько неверное понимание данного вопроса.
В плоть до того, что если база требуется, а сервера базы не обнаружено, то сервер базы нужно инсталить и на него ставить нужную базу.
В VS, выбрав проект, можно выбрать в контекстном меню "Publish" и настроить его профайл.
физический путь на диске
----
Там можно либо локально паблишить и потом вручную по ftp копировать либо сразу на ftp, или WebDeploy использовать.
логическое место на сайте
----
Перенос файлов идет в конкретную директорию на web-сервер по ftp. Приложение на IIS-е уже должно быть настроено, то есть создан "site" + "application pool" для него.
используемый порт
----
Настраивается в IIS в настройках site-а. Никакого отношения к деплойменту не имеет.
используемые базы данных
----
Все в web.config-е, можно либо web.config на сервере перезаписывать, если вручную по ftp все копировать. Можно использовать config transformations и для releas-ов прописывать значения для PROD/UAT баз данных.
У тебя как всегда геморрой на ровном месте :)
Берешь Windows Installer Reference и куришь мануал. Там есть описание кучи разных таблиц: Installer Database
Собирать инсталлер по мануалц дело не очень простое поэтому ребязата придумали WiX Toolset. Это очень крутой инструмент, который мало того, что позволяет описывать инсталлятор, так еще и предлагает расширения для нативного инсталлятора. В частности, у них есть есть расширение для настройки IIS: WebSite Element.
Дальше тебе надо будет только ввести все необходимые параметры в UI твоего инсталлера.
Приложение на IIS-е уже должно быть настроено
-----
Ну вот и точка непонимания - руками Я это делаю. Но сейчас Я хочу уйти от делания этого в ручную.
Цель - запустить все ремотно и получить все проинсталленое...
Логику и детали инсталяции - однократно прописать в инсталяторе.
У тебя как всегда геморрой на ровном месте :)
-----
Ну так по первоте оно всегда геморой... ну и слава богу - геморой, но есть.
У товарища выше - до гемороя далеко - пока сложно даже с пониманием потребностей ... :)
В частности, у них есть есть расширение для настройки IIS: WebSite Element
-----
Вот за это - спасибки - буду смотерть как время будет.
Сам ВИХ в базовом варианте Я как-то крутил - без него расширения для Студии не собираются, а вот до расширений - не добрался - надо смотреть.
Ну вот и точка непонимания - руками Я это делаю.
----
В "нормальных" конторах, где есть OPS-ы, тебя, как девелопера к IIS-у даже не подпустят.
Поэтому начнем с того, что то, что ты хочешь сделать выглядит неадекватно, в частности, сочитание инсталлятор и деплоймент web-сервиса звучит ненормально.
сочитание инсталлятор и деплоймент web-сервиса звучит ненормально
ты из какого вообще века? Деплоить руками - это верный путь к ошибке. Инсталлятор все делает за тебя и, что самое важное, так как нужно веб-сервису. И никаких проблем ни с установкой, ни в деинсталляцией, ни с апгрейдом. Учи матчасть (инсталлятор).
В "нормальных" конторах, где есть OPS-ы, тебя, как девелопера к IIS-у даже не подпустят.
-----
Ну не допустят и не допустят - будет какой-то ихний админ-аныкейщик и будет он зануиматься инсталлом...
Или ты хочешь, чтобы Я мотался в каждую контору и выбивал себе права на инсталяцию? Мне такое как-то не интересно...
сочитание инсталлятор и деплоймент web-сервиса звучит ненормально.
-----
Да-да...
Вот давай сейчас ты аккуратно напишешь пошаговую инструкцию по ручной инсталяции нужного мне самопального сервиса...
Ну а Я торжественно пообещаю выполнить ее в деталях... если заработает - опубликуем и будем грести деньгу за пользование...
Может, у тебя проблема с описанием потребностей?
------
Может быть.
Но по крайней мере Я вижу где именно у меня проблемы и пытаюсь их описать и решить...
Ты не обижайся - у тебя действительно есть проблема с пониманием того, об чем Я спрашиваю.
Просто прими как факт - без обидок - и постарайся понять и устранить пробел в знаниях.
Оно - понять и устранить - полезнее, чем обидки копить....