在八达通部署中部署控制台应用程序



我正在寻找改进.NET Core控制台应用程序部署的方法。目前我只是将发布的版本复制到服务器并运行"dotnet xxx.dll"(是的...我已经设置了appveyor,它将带有我的控制台应用程序的nuget包推送到nuget存储库。这个nuget存储库被导入到Octopus Deploy,所以我可以将其部署到生产中。让我感到困惑的部分是我如何实际杀死以前版本的进程并开始一个新版本。Octopus Deploy是否支持它,而不会对Power Shell进行太深入?

附言我可以把我的控制台应用程序变成Windows服务,但我不想这样做,因为我喜欢保留部署到Windows和Linux的选项

如果在 nuget 包的根目录中有一个 deploy.ps1 脚本,则可以包含用于终止现有版本的命令(停止进程(并启动新版本。

关于将其作为Windows服务运行,您可能需要查看NSSM。我们使用NSSM将控制台应用程序作为Windows服务运行(并通过Octopus部署(。它确实需要使用PowerShell进行部署步骤。章鱼有一个社区步骤模板,它将部署NSSM服务,但它并没有完全达到我们想要的效果。尽管如此,它仍然是基本所需PowerShell的好起点。

最新更新