【问题标题】:gitlab-runner errors on local windows本地窗口上的 gitlab-runner 错误
【发布时间】:2018-08-17 07:44:23
【问题描述】:

我正在尝试在本地生成my work in progress hugo website。它适用于 gitlab CI。

我安装了 docker 和 gitlab runner 服务。

然后使用指南here 我想我应该这样做gitlab-runner exec docker pages。 但这会导致:

[0;33mWARNING: Since GitLab Runner 10.0 this command is marked as DEPRECATED and will be removed in one of upcoming releases[0;m
[0KRunning with gitlab-runner 10.5.0 (80b03db9)
[0;m[0KUsing Docker executor with image rocker/tidyverse:latest ...
[0;m[0KPulling docker image rocker/tidyverse:latest ...
[0;m[0KUsing docker image sha256:f9a62417cb9b800a07695f86027801d8dfa34552c621738a80f5fed649c1bc80 for rocker/tidyverse:latest ...
[0;m[31;1mERROR: Job failed (system failure): Error response from daemon: invalid volume specification: '/host_mnt/c/builds/project-0/Users/jan/Desktop/gits/stanstrup-web:C:\Users\jan\Desktop\gits\stanstrup-web:ro'
[0;m[31;1mFATAL: Error response from daemon: invalid volume specification: '/host_mnt/c/builds/project-0/Users/jan/Desktop/gits/stanstrup-web:C:\Users\jan\Desktop\gits\stanstrup-web:ro'[0;m

我也尝试将其注册为其他指南显示,但我最终遇到了同样的问题。

其他人遇到了一些问题:

我应该在 .gitlab-ci.yml 中设置什么吗?应该在那里设置卷吗?在哪种情况下如何/在哪里?



.gitlab-ci.yml 说:

image: rocker/tidyverse:latest

before_script:
  - apt-get update && apt-get -y install default-jdk pandoc r-base r-cran-rjava curl netcdf-bin libnetcdf-dev libxml2-dev libssl-dev
  - R CMD javareconf
  - Rscript .gitlab-ci.R

pages:
  script:
    - R -e "blogdown::build_site()"
  artifacts:
    paths:
      - public
  only:
    - master

【问题讨论】:

  • 您使用了docker-compose.yml 吗?如果是,那么请在您的问题中也发布它
  • 如果我理解正确的话,等效的是 .gitlab-ci.yml。我已将其添加到 Q 中。
  • Gitlab runner 在这里执行 compose/container 并且 runner 没有处理路径。我没有窗口可以推荐您可以尝试和探索的可能步骤。但是使用COMPOSE_CONVERT_WINDOWS_PATHS=1 无法解决该问题,因为 runner 应该具有该变量。看看能不能在gitlab runner里面传进去,让它工作?
  • 根据您提供的链接(open 问题gitlab.com/gitlab-org/gitlab-runner/issues/1775),这是由于Windows 下路径的“冒号”分隔符而导致的已知错误;似乎已经设计了一个错误修复 (gitlab.com/gitlab-org/gitlab-runner/merge_requests/706),但尚未集成和发布...
  • 我想知道为什么before_script 中的命令没有放在 Dockerfile 中(构建自己的镜像)。

标签: windows docker gitlab-ci-runner hugo blogdown


【解决方案1】:

看起来你在 docker for windows 中遇到了冒号分隔符错误,许多工具必须解决,gitlab has noticed it

在修复出现之前,最简单的解决方法是让您尝试在 Windows 机器上的 linux vm 中执行此操作。 get prebuilt gitlab vm images from bitnami here.

否则您可以签出并运行gitlab-runner source branch with the fix,但它会显示一些冲突并且可能存在其他错误。

【讨论】:

    猜你喜欢
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多