Развертывание приложения .net core 2.2 из командной строки с использованием конвейеров Azure DevOps - PullRequest
0 голосов
/ 31 января 2019

У меня есть клиент командной строки, написанный на C #, предназначенный для .net core 2.2 ( не ядро ​​asp.net, просто приложение командной строки).

Я пытаюсьраспределить это приложение по группе серверов с помощью конвейеров Azure DevOps.

К сожалению, я не могу получить действие сборки Visual Studio для создания полного пакета.

Для развертывания с использованием локально скомпилированного пакета ясоздайте общедоступный профиль «Папка», который работает нормально.Я надеялся, что смогу сделать то же самое и скопировать результат в промежуточный каталог артефакта, но, к сожалению, он не работает.

Я использую следующие аргументы MSBuild:

/p:SkipInvalidConfigurations=true /p:DeployOnBuild=true /p:PublishProfile="FolderProfile"

Профиль определяется так:

<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <PublishProtocol>FileSystem</PublishProtocol>
    <Configuration>Release</Configuration>
    <Platform>Any CPU</Platform>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <PublishDir>..\ClientPublish\</PublishDir>
    <SelfContained>false</SelfContained>
    <_IsPortable>true</_IsPortable>
  </PropertyGroup>
</Project>

Из того, что я вижу в журнале компиляции, параметр "DeployOnBuild" просто игнорируется, и приложение никогда не развертывается.

Что я делаю не так?

Редактировать

Вот скриншот моей последней попытки использования профиля развертывания: enter image description here

Копирование файла: enter image description here И публикация артефакта: enter image description here

В качестве альтернативы, я попытался сделать это после отключения файлазадание на копирование:

enter image description here

1 Ответ

0 голосов
/ 05 февраля 2019

После большого количества перемоток вперед и назад это правильный конвейер для его работы:

enter image description here

Сначала задача SDK Installer (аналогично Nuget Installerдля .NET Framework)

.dotnet restore (аналогично Nuget Restore для .NET Framework)

Построение решения

А затем добавьте публикацию .dotnet для создания артефакта (Этошаг должен быть добавлен после сборки)

Опубликовать артефакт, чтобы отбросить артефакт для конвейера релиза.

Похоже, что аргументы MSBuild в этом случае не нужны.Встроенные конвейеры все сделают сами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...