使用 Azure DevOps 管道部署 command-line .net core 2.2 应用程序
Deploying a command-line .net core 2.2 app using Azure DevOps piplines
我有一个针对 .net 核心 2.2 的 command-line 客户端编写的 C#(不是 asp.net 核心,只是一个 command-line 应用程序) .
我正在尝试使用 Azure DevOps 管道将该应用程序分发到一组服务器。
不幸的是,我无法获得 Visual Studio 构建操作来创建完整的包。
为了使用本地编译的包进行部署,我创建了一个可以正常工作的发布 "Folder" 配置文件。我希望能够告诉操作执行相同操作并将结果复制到 Artifact Staging 目录,但不幸的是,它似乎不起作用。
我正在使用以下 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" 参数被简单地忽略了,应用程序从未部署过。
我做错了什么?
编辑
这是我最近尝试使用部署配置文件的屏幕截图:
复制文件:
和神器发布:
或者,我在禁用文件复制任务后这样试过:
经过大量来回,这是它工作的正确管道:
首先执行 SDK 安装程序任务(类似于 .NET Framework 的 Nuget 安装程序)
.dotnet restore(类似于 .NET Framework 的 Nuget Restore)
构建解决方案
然后添加.dotnet publish创建神器(这一步需要在build之后添加)
Publish Artifact 以放下要发布管道拾取的工件。
似乎在这种情况下不需要 MSBuild 参数。内置管道将自行完成所有工作。
我有一个针对 .net 核心 2.2 的 command-line 客户端编写的 C#(不是 asp.net 核心,只是一个 command-line 应用程序) .
我正在尝试使用 Azure DevOps 管道将该应用程序分发到一组服务器。
不幸的是,我无法获得 Visual Studio 构建操作来创建完整的包。
为了使用本地编译的包进行部署,我创建了一个可以正常工作的发布 "Folder" 配置文件。我希望能够告诉操作执行相同操作并将结果复制到 Artifact Staging 目录,但不幸的是,它似乎不起作用。
我正在使用以下 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" 参数被简单地忽略了,应用程序从未部署过。
我做错了什么?
编辑
这是我最近尝试使用部署配置文件的屏幕截图:
复制文件:
或者,我在禁用文件复制任务后这样试过:
经过大量来回,这是它工作的正确管道:
首先执行 SDK 安装程序任务(类似于 .NET Framework 的 Nuget 安装程序)
.dotnet restore(类似于 .NET Framework 的 Nuget Restore)
构建解决方案
然后添加.dotnet publish创建神器(这一步需要在build之后添加)
Publish Artifact 以放下要发布管道拾取的工件。
似乎在这种情况下不需要 MSBuild 参数。内置管道将自行完成所有工作。