GitLab 管道失败:未知选项:-c

GitLab pipeline fail: Unknown option: -c

我已经为 运行 一系列自动将我的应用程序部署到沙盒环境的作业创建了一个管道。我的.gitlab-ci.yml配置是:

stages:
  - pull
  - build

pull-code-job:
  stage: deploy
  script:
    - cd /usr/share/nginx/html
    - git pull http://myuser:mypassword@mydomain.com/user/my-app.git master

build-code-job:
  stage: deploy
  script:
    - npm install
    - npm run alpha

当我查看管道日志时,我总是发现它们失败了:

Unknown option: -c

我没打电话git -c

我的版本 os GitLab CE 是 12.0.3,使用 运行ners 的 git 版本是 1.7.1.

对于您定义的每个作业,在您的任何脚本、before_script 或 after_script 部分 运行。如果你的工作应该 运行ning 对存储库中的代码,你根本不需要 git clonegit pull;它会自动为你发生。您在作业中看到的输出来自此自动提取。

如果需要,您可以使用 GIT_STRATEGY 变量设置为 none:

来禁用自动提取
pull-code-job:
  stage: deploy
  variables:
    GIT_STRATEGY: none
  script:
    - cd /usr/share/nginx/html
    - git pull http://myuser:mypassword@mydomain.com/user/my-app.git master

对于这项工作,存储库将不会 fetched/cloned 来自 Gitlab。如果您的管道中有另一项工作可以提取您的代码,然后构建一个工件,如 npm 依赖项、从源代码编译的二进制文件等,这将很有用。

由于您使用的是 shell 执行器,因此作业 运行 直接在 运行 执行器所在的主机上进行(而不是在 Docker 容器)。查看 git usage 输出,git 版本似乎没有 -c 选项。尝试在您的 gitlab-runner ALPHA 为 运行ning 的主机上升级 git 并再次 运行 您的管道。