Как опубликовать sh a. net framework windows service - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть windows служба, которую я создаю с net ядром, и я могу опубликовать sh с профилем publi sh, и, так как я использую настройки приложений, я также могу ориентироваться на среду. Пытаюсь найти решение для другого проекта, но использую. net framework и не хочу использовать installutil. Пока я могу просто - остановить сервис - скопировать файлы - перезапустить сервис

Однако, с помощью службы инфраструктуры. net, настройки находятся в app.config, и настройки будут явно отличаться между тестовым сервером и производством.

Так что теперь я смотрю на сделать это с powershell, и, надеюсь, добавить это в конвейер сборки, чтобы автоматизировать его. Шаги будут такими же, как и сценарий powershell - остановить службу на целевом сервере - скопировать файлы из папки / bin - перезапустите сервис на целевом сервере кроме как после копирования файлов, мне нужно будет изменить app.config, и все вышеперечисленное, я уверен, что могу выполнить sh с powershell.

Мой вопрос, это можно сделать с помощью сборки конвейер, работающий на предварительном сборочном агенте?

1 Ответ

1 голос
/ 14 апреля 2020

это можно сделать с помощью конвейера сборки, который запускается на предварительном агенте сборки

Для этой проблемы, в соответствии с вашей ситуацией, как упомянуто penaunt в комментарии, вы можно попробовать добавить PowerShell на целевых машинах в конвейер сборки.

Это задание можно использовать для выполнения сценариев PowerShell на удаленных машинах. В этой задаче используется Windows Удаленное управление (WinRM) для доступа к локальным физическим компьютерам или виртуальным компьютерам, присоединенным к домену или рабочей группе. Для сценариев PowerShell на компьютерах должен быть установлен PowerShell 2.0 или выше.

- task: PowerShellOnTargetMachines@3
  displayName: 'Run PowerShell on Target Machines'
  inputs:
    Machines: '...'
    #userName: # Optional
    #userPassword: # Optional
    #scriptType: 'Inline'
    #inlineScript: '# Write your powershell commands here'
    #scriptArguments: # Optional
...