ASP.NET核心应用程序作为Windows服务CI/CD管道



我有一个配置为Windows服务的ASP.NET Core应用程序。

我需要在Windows机器上使用VSTS管道部署我的应用程序,但找不到如何使用Windows服务。

任何帮助都将不胜感激:(

首先,您需要一个构建管道,将构建的代码发送到包中(即.NET核心任务,用于获取依赖项、构建代码和发布代码。此代码应放入$(build.ArtifactStagingDirectory(中,然后将其发布到drop中。所有这些都是来自开箱即用模板的标准.NET核心构建管道内容。除此之外,你还需要一个复制任务,将一个或多个powershell文件(我稍后会讨论(复制到$(Build.ArtifactStagingDirectory(中。

这是一个发布管道,它将进行部署,你需要做一些不同的事情,因为我不知道有任何市场任务能真正帮助你。在发布管道中,我们真正需要做的是创建一个部署,该部署遵循本文档中的一些步骤(4-7((https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-2.1(,因为它详细介绍了安装ASP.NET Windows服务的步骤。

我在这里建议您在一个或多个powershell脚本中编写步骤4-7,并将它们提交到您的代码库中,然后通过我前面提到的复制任务进行处理。

在发行版中,它将从您的构建工件中下载发布的服务代码和部署服务所需的powershell文件。发布管道所需要做的就是将服务exe代码复制到服务部署目录中(在示例步骤中,它使用c:\svc,因此将文件复制到此处(。然后在上面的脚本上简单地执行一个或多个powershell任务,以便代理运行这些步骤来正确安装服务。

以上假设使用本地安装在要部署到的服务器上的专用管道代理。如果要将同一服务部署到多台服务器,则应查看发布管道的部署组,但以上步骤都应相同。只是在部署组阶段而不是通常的代理阶段中执行所有任务。

希望能有所帮助。

最新更新