Я использую TopShelf для написания приложения WinService, и мне было интересно, какой стандартный способ его развертывания использует TeamCity.Развертывание приложения TopShelf с использованием TeamCity
Вот сценарий я придумал:
- Агент строит проекту
- копии агента в папку с результатами сборки (например, Release) на целевой машине
- Если папка «ServiceName» существует , Агент отправляется туда и запускает ServiceName.exe удаляет и удаляет папку
- Агент переименовывает папку Release в ServiceName.
- Агент отправляется в папку ServiceName и вызывает установку и запуск службы ServiceName.exe.
В принципе, так оно и может работать. Однако я не уверен, что это самый удобный. Есть ли альтернативы? AFAIK, развертывание Octopus может пригодиться, но я не уверен. Я нашел красивые статьи и ответы относительно простой WinService, но не очень много о TopShelf.
Спасибо, я уже посмотрел на Octopus, и, к сожалению, мы не сможем настроить его, чтобы развернуть несколько сервисов. Я придумал свое собственное решение, используя PS-скрипты и удаленное управление PS. Не идеальный, хотя работает для основных сценариев. –