尝试通过GitLab Runner脚本访问网络驱动器,但出现错误

时间:2018-07-17 13:12:37

标签: windows gitlab gitlab-ci gitlab-ci-runner

我正在使用GitLab的CI组件,但出现此错误:

The system cannot find the path specified.

当我尝试访问脚本中的映射的网络驱动器时。尝试从我的PC(运行该服务的同一台PC)正常访问驱动器时,我可以看到所有映射的驱动器。

这是.gitlab-yml中的脚本:

variables:
  PROJECT_NAME: "TestApp"
  STAGING_PATH: X:\some\network\location\%PROJECT_NAME%
stages:
  - build
  - deploy
build:
  stage: build
  script:
  - echo "starting build for %PROJECT_NAME% at %TIME%"
  ...
  artifacts:
    name: "%PROJECT_NAME%"
    paths:
      - '%PROJECT_NAME%/bin/Release'
    expire_in: 1 week
deploy:
  stage: deploy
  script:
    - echo "Deploy to staging server"
    - dir "X:"  << ERROR HAPPENS HERE
    - net use
  dependencies:
    - build
  environment:
    name: staging
  only:
  - master

我已经使用net use命令列出了它可以看到的网络位置,但是该列表也为空。有什么方法可以使gitlab-runner看到这些网络位置?

我正在使用的跑步者是可以从here获得的Windows二进制文件。配置toml文件为:

concurrent = 1
check_interval = 0

[[runners]]
  name = "Haroon-PC"
  url = "http://ae-ubuntu/"
  token = "fd84211a6d37d88d4903317c85ce7a"
  executor = "shell"
  [runners.cache]

2 个答案:

答案 0 :(得分:0)

gitlab-runner服务的内置系统帐户(默认)无法访问外部网络驱动器。

您必须使用有权访问网络驱动器的用户帐户运行gitlab-runner服务。启动服务时,请遵循“使用用户帐户运行服务”下的说明。

https://docs.gitlab.com/runner/install/windows.html

答案 1 :(得分:0)

joe.schuellers 的提示对我使用跑步者访问网络驱动器有很大帮助,它会起作用。 只需安装你的跑步者

gitlab-runner.exe install --user ENTER-YOUR-USERNAME --password ENTER-YOUR-PASSWORD