我正在寻找改进.NET Core控制台应用程序部署的方法。目前我只是将发布的版本复制到服务器并运行" dotnet xxx.dll" (是的......)我已经设置了appveyor,它将我的控制台应用程序的nuget包推送到nuget存储库。这个nuget存储库导入到Octopus Deploy,因此我可以将其部署到生产环境中。困扰我的部分是我如何能够杀死先前版本的进程并开始一个新进程。 Octopus Deploy是否支持它而不会过度使用Power Shell?
P上。 S.我可以将我的控制台应用程序变成Windows服务,但我不想,因为我喜欢保留部署到Windows和Linux的选项
答案 0 :(得分:2)
如果您的nuget包的根目录中有deploy.ps1脚本,则可以包含用于终止现有版本(停止进程)并启动新版本的命令。
答案 1 :(得分:1)
关于将其作为Windows服务运行,您可能需要查看NSSM。我们使用NSSM作为Windows服务运行(并通过Octopus部署)控制台应用程序。它需要使用PowerShell进行部署。八爪鱼的community step template将会部署NSSM服务,但它并没有完全符合我们的要求。它仍然是开始使用所需的基本PowerShell的好地方。