Во-первых, вам понадобится конвейер сборки, который генерирует встроенный код в пакет (т.е. основные задачи .NET для получения ваших зависимостей, сборки кода и публикации кода. Этот код должен быть помещен в $ (Build.ArtifactStagingDirectory)который затем публикуется в виде капли. Все это в значительной степени стандартный материал для сборки ядра .NET из готового шаблона. В дополнение к этому вам понадобится задача копирования, которая будет копировать файл или файлы powershell (которые я 'мы поговорим позже) в $ (Build.ArtifactStagingDirectory).
Это конвейер релиза, который будет выполнять развертывание, где вам нужно будет сделать что-то немного другое, поскольку я не знаю ни о каких рыночных задачах, чтобы действительноздесь вам нужно помочь. Что нам действительно нужно сделать в конвейере выпуска, - это создать развертывание, которое следует за некоторыми из шагов (4-7) в этом фрагменте документации (https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-2.1), поскольку в нем подробно описаны шаги для установки ASP.NET Windows Service.
Я предлагаю вам написать шаги 4-7 в одном или нескольких шагах.Несколько сценариев PowerShell и добавьте их в свою кодовую базу и обработайте их с помощью задачи копирования, как я упоминал ранее.
В этом выпуске он будет загружать из артефакта вашей сборки опубликованный служебный код и необходимые ему файлы PowerShell.развернуть сервис.Все, что нужно сделать конвейеру выпуска, - это скопировать exe-код службы в каталог развертывания службы (в примерах шагов он использует c: \ svc, поэтому скопируйте файлы сюда).Затем просто выполните задачу powershell (или задачи) в приведенных выше сценариях, чтобы агент выполнил эти шаги для правильной установки службы.
В приведенном выше примере предполагается использование частного агента конвейера, локально установленного на развертываемом сервере.к.Если вы хотите развернуть одну и ту же службу на многих серверах, вам следует взглянуть на группы развертывания для вашего конвейера выпуска, но все вышеперечисленные действия должны работать одинаково.только со всеми задачами на этапе группы развертывания, а не на обычной фазе агента.
Надеюсь, это поможет.