【问题标题】:Deploying a command-line .net core 2.2 app using Azure DevOps piplines使用 Azure DevOps 管道部署命令行 .net core 2.2 应用
【发布时间】:2019-01-31 16:09:57
【问题描述】:

我有一个针对 .net core 2.2 编写的 C# 命令行客户端(不是 asp.net 核心,只是一个命令行应用程序)。

我正在尝试使用 Azure DevOps 管道将该应用程序分发到一组服务器。

很遗憾,我无法通过 Visual Studio 构建操作来创建完整的包。

为了使用本地编译的包进行部署,我创建了一个可以正常工作的发布“文件夹”配置文件。我希望能够告诉操作执行相同的操作并将结果复制到 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”参数被简单地忽略,应用程序从未部署。

我做错了什么?

编辑

这是我最近尝试使用部署配置文件的屏幕截图:

复制文件: 和神器发布:

或者,我在禁用文件复制任务后尝试这样:

【问题讨论】:

  • 试试这些:/p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:DeployDefaultTarget=WebPublish /p:publishUrl="$(build.artifactstagingdirectory)\\" 特别是最后一个跨度>
  • 还有,你到底有没有发布工件任务?
  • 我有一个发布工件,在此之前,我有一个文件复制操作,将 ..\ClientPublish\ 复制到 $(build.artifactstagingdirectory) 但由于没有触发发布,源文件夹保持空白
  • 我用你建议的参数试过了,但没有运气:构建成功但我得到“2019-01-31T18:34:09.8644830Z ##[warning]Directory 'D:\a\1 \a' 为空。不会添加任何内容来构建工件 'drop_client'。"当然,没有什么可部署的
  • 我现在在家,但我可以指导您完成明天的工作,我将在我面前完成我的构建。

标签: .net-core azure-devops .net-core-2.2


【解决方案1】:

经过多次来回,这是它工作的正确管道:

SDK Installer 任务优先(类似于 Nuget Installer for .NET Framework)

.dotnet restore(类似于 .NET Framework 的 Nuget Restore)

构建解决方案

然后添加 .dotnet publish 创建一个工件(这一步需要在构建之后添加)

发布工件以删除工件以供发布管道拾取。

在这种情况下,似乎不需要 MSBuild 参数。内置管道将自行完成所有工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多