繁体   English   中英

如何使用Private Linux Hosted Build Agent从VSTS进行Dotnet发布?

[英]How to Dotnet Publish from VSTS with Private Linux Hosted Build Agent?

场景-
我正在尝试在Ubuntu ec2实例上构建和部署基于ASP.Net core2.0的项目。

从VSTS-
我已经在VSTS帐户上创建了Linux Private Build Agent。

安装Linux Build Agent-
我已经安装了dotnet core 2.1.3,并且还成功在ec2上注册了Linux Private Agent。

现在,
从VSTS-“构建和发布”标签-
构建定义我有以下任务-

1)dotnet restore-该任务成功执行。

dotnet恢复映像

2)dotnet build-此任务成功执行。
dotnet构建映像

3)dotnet test-该任务成功执行。
点网测试图

4)dotnet publish-此任务使用.csproj为我的所有项目创建已发布文件。
发布任务图片

5)发布构建工件任务 发布工件任务

在“任务”步骤4中,这意味着dotnet发布步骤-它在Ubuntu私有托管代理ec2上的某个路径上发布已发布的文件。 例如,它发布的路径可以是-
ubuntu @ ip-111-11-1-111:/ agent / _work / 1 / a
linux build agent神器文件夹
如果您在“ dotnet publish”任务中注意到,我指定了垂直的.csproj文件,但仍在linux build agent的工件“ a”文件夹中,则它正在发布所有源项目。
另外,请注意,在执行此任务期间我有一些错误,因此我只能在此输出不完整的情况下发布“ a”文件夹的屏幕。
有关更多信息,我还将在构建代理程序的源“ s”文件夹中发布详细信息屏幕。
linux build agent-源文件夹

请让我知道,如何仅从VSTS中发布特定的项目/源文件夹?

您应该在第4步(.NET Core任务命令选项)中使用发布而不是自定义:

在此处输入图片说明

注意:您应该在.NET Core发布任务中取消选择“发布Web项目”选项。

由于第4步发布了所有项目的原因,这导致将publishWebProjects选项publishWebProjects设置为true ,并且如果您在.NET Core任务中使用自定义命令,则无法更改该选项。 因此,它实际上搜索**/*.csproj模式,并忽略您指定的项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM