首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法通过gitlab-runner停止我的自定义windows服务

无法通过gitlab-runner停止我的自定义windows服务
EN

Stack Overflow用户
提问于 2020-09-23 10:35:03
回答 1查看 554关注 0票数 0

这是我关于堆栈溢出的第一个问题。希望你的眼睛不会因为我的英语流血太多。长话短说:我无法通过来停止我的自定义windows服务。

我在gitlab CI\CD期间试图实现的目标是:

  • 给我的服务处发个信号,让他停止工作
  • 定期检查此服务状态以确定其是否已停止。

因此,为了方便,我已经在本地安装了shell gitlab-runner,gitlab服务器可以看到我的本地运行程序。我的windows服务的名称格式如下:"My.Service.Name".

get <my_job_name>包含gitlab-ci.yml,在脚本部分sc.exe queryex My.Service.Name中包含以下命令(试图获取服务状态)。

命令执行会给我带来错误[SC] EnumQueryServicesStatus:OpenService FAILED 1060: The specified service does not exist as an installed service。基本上,sc.exe stop My.Service.Name也因[SC] OpenService FAILED 1060: The specified service does not exist as an installed service错误而失败。

我的服务是这样创建的:sc create My.Service.Name binPath= "path\to\exe\My.Service.Name.exe -service" DisplayName= My.Service.Name start= delayed-auto depend= MSMQ局部查询结果 of sc.exe queryex My.Service.Name call.

我已经被检查过了:

  • 我的服务存在并且在(My.Service.Name)中具有相同的服务和显示名称。
  • 服务名称不包含任何空格(如果缺少引号)
  • 简单的命令sc.exe queryex (通过gitlab)给我的不是所有的服务,我可以在本地的services.msc中看到这些服务。
  • alternative命令也没有为我提供来自services.msc Get-Service -ComputerName .的所有服务(通过gitlab)
  • 在本地执行的相同命令通过sc.exe sc.exe queryex My.Service.Name和PowerShell Get-Service | where {$_.name -like "*My.Service.Name*"} or Get-Service -ComputerName .中的Get-Service提供了所需的结果。
  • 服务gitlab-runnerMy.Service.Name都与本地管理员帐户一起运行。
  • 本地运行gitlab-runner.exe exec shell my_job_name也为我提供了所需的结果,因此我可以查询服务信息,甚至停止服务。
  • 基于类似的问题,我还检查了windows RPC服务是否已启用并正在运行。

那么,为什么有些服务,包括我的服务,没有在sc.exe和gitlab的结果中列出呢?我怀疑这里有一些许可问题。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-09-24 09:45:56

我终于明白了问题所在--我搞砸了gitlab-ci.yml作业标签,事实上,另一个gitlab运行程序处理了传入的构建。现在它正像预期的那样工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64026053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档