You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitLab Windows Runner上禁用杀毒软件(Windows Defender)?

解决GitLab Windows Runner中PyInstaller误报杀毒拦截问题

方法一:CI脚本内临时禁用Windows Defender实时防护

直接在.gitlab-ci.yml的构建步骤中添加PowerShell命令,临时关闭实时监控:

# 关闭Windows Defender实时防护
Set-MpPreference -DisableRealtimeMonitoring $true
# 可选:验证防护状态
Get-MpPreference | Select-Object DisableRealtimeMonitoring

注意:该操作需要Runner具备管理员权限,需确保Runner配置允许以管理员身份执行任务。

方法二:修改GitLab Runner配置实现永久禁用(单Runner生效)

如果需要针对该Runner永久关闭防护,可修改Runner的配置文件:

  1. 定位到Runner配置文件,默认路径为C:\GitLab-Runner\config.toml
  2. 在[[runners]]区块下调整shell配置,让脚本以管理员身份运行:
[[runners]]
  name = "你的Windows Runner名称"
  url = "你的GitLab实例地址"
  token = "你的Runner令牌"
  executor = "shell"
  shell = "powershell -ExecutionPolicy Bypass -NoProfile -Verb RunAs"
  1. 重启GitLab Runner服务使配置生效:
Restart-Service gitlab-runner

之后在CI脚本中执行禁用命令即可长期生效(仅针对该Runner)。

方法三:通过CI变量控制防护开关

在项目的CI/CD变量中添加DEFENDER_DISABLE=true,然后在脚本中判断执行关闭操作:

stages:
  - build

build:
  stage: build
  tags:
    - windows
  script:
    - if ($env:DEFENDER_DISABLE -eq "true") {
        Set-MpPreference -DisableRealtimeMonitoring $true
      }
    # 执行你的PyInstaller构建命令
    - pyinstaller your-script.py

注意事项

  • 临时禁用仅在当前Job执行周期内有效,弹性Runner在Job结束后会重置环境
  • 共享Runner通常无法修改全局配置,优先选择脚本内临时禁用的方式
  • 执行命令前确认Runner权限足够,否则会出现权限不足的报错

内容的提问来源于stack exchange,提问作者bers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 17:56:13