如何配置Windows服务发布任务,如在VSTS中安装TopShelf Windows服务?

时间:2018-02-02 14:24:33

标签: windows-services azure-devops azure-pipelines-release-pipeline

我正在使用VSTS开发DevOps。我使用VS2015创建了简单的Windows服务应用程序,因为我在VSTS中通过此Windows Service Release Tasks添加此任务来配置发布定义。

我成功配置了启动Windows服务安装(TopShelf)Windows服务停止Windows服务任务。

配置安装(TopShelf)Windows服务 enter image description here

在发布期间,上述停止安装任务成功运行,但启动任务失败,并显示以下错误。

  

运行命令已停止,因为首选项变量“ErrorActionPreference”或common参数设置为Stop:No such services:FirstService

因为安装(TopShelf)Windows服务任务不会在机器中安装Windows服务。但它只是成功了。

我有几个问题,比如

  1. 安装(TopShelf)Windows服务安装和启动Windows服务 VSTS发布任务之间的区别是什么。
  2. 如果我使用安装(TopShelf)Windows服务任务,则仅当您已经在虚拟机中运行已存在的Windows服务时才会起作用,否则它将失败。但如果我使用安装并启动Windows服务任务,它将在虚拟机中安装新的Windows服务。但我无法给出显示已安装的Windows服务的显示名称和描述。

1 个答案:

答案 0 :(得分:2)

它们是由第三方创建的两个扩展。因此,您可以在VSTS市场中搜索它们并获取它们的详细信息。

对于你的问题:

安装(TopShelf)Windows服务

这用于安装使用Topshelf框架创建的Topshelf服务。

安装并启动Windows服务

这用于通过Power-Shell或InstallUtli安装常规Windows服务。

因此,如果您只是从VS创建一般的Windows服务。你应该使用第二个。

通常,要设置Windows服务的显示名称和描述,您需要在代码中执行此操作。有关详细信息,请参阅此问题:What's the best way to set a windows service description in .net