【发布时间】:2016-05-19 13:43:25
【问题描述】:
我的章鱼在一台机器上安装了 Windows 服务,但有时它无法停止服务,所以它没有部署。
如果我手动转到机器并尝试停止服务,我不能。但是如果我先去任务管理器,把服务的进程杀掉,就可以停止服务了。
八达通是否已经有内置功能可以为我执行此操作?或者我应该在重新安装 Windows 服务之前创建一个 .bat 来执行它?
【问题讨论】:
标签: windows windows-services octopus-deploy
我的章鱼在一台机器上安装了 Windows 服务,但有时它无法停止服务,所以它没有部署。
如果我手动转到机器并尝试停止服务,我不能。但是如果我先去任务管理器,把服务的进程杀掉,就可以停止服务了。
八达通是否已经有内置功能可以为我执行此操作?或者我应该在重新安装 Windows 服务之前创建一个 .bat 来执行它?
【问题讨论】:
标签: windows windows-services octopus-deploy
和 Ryan 的进程一样,我们使用这种格式的命令来杀死不会正常关闭的进程
taskkill /im Processname /f
请注意,这需要Process Name 而不是Service Name,并且所有共享相同进程名称的服务都将被杀死。
【讨论】:
您可以尝试使用自定义 powershell 预部署脚本(为您的部署步骤启用自定义部署脚本功能)或将其放在您的 nuget 包中的 predeploy.ps1 文件中。
kill -processname serviceName
【讨论】:
如果您导入步骤模板Stop Service With Kill,您可以将其添加为部署步骤。
文档here 提供了逐步完成此操作的方法
【讨论】: