我的章鱼在一台机器中安装Windows服务,但有时它无法停止服务,因此它不会部署。
如果我手动进入机器试图停止服务,我就不能。但是,如果我先去任务管理器并终止服务进程,那么我可以停止服务。
Octopus是否已经有内置功能为我做这个?或者我应该在重新安装Windows服务之前创建一个.bat来执行它吗?
答案 0 :(得分:5)
与Ryan的流程相同,我们使用此格式的命令来终止无法正常关闭的进程
taskkill /im Processname /f
只需注意,这需要Process Name
而非Service Name
,并且所有共享相同进程名称的服务都将被终止。
答案 1 :(得分:3)
您可以尝试使用自定义PowerShell预部署脚本(为部署步骤启用自定义部署脚本功能),也可以将其放在nuget包中的predeploy.ps1文件中。
kill -processname serviceName
答案 2 :(得分:1)
如果您导入步骤模板Stop Service With Kill,则可以将其添加为部署步骤。
文档here提供了逐步执行此操作的方法