使用 Windows Runner 上传工件

Upload artifacts with the Windows Runner

我们使用来自 Gitlab-ci 的官方cial Windows runner。我们要上传工件。

我们在 yaml 文件中使用 'artifact' 关键字来定义需要上传的工件。当我们提交时,我们得到的消息是:

gitlab-ci-multi-runner 0.7.2 (998cf5d)
WARNING: artifacts is not supported by selected executor and shell
Using Shell executor...

这是因为它使用了 Windows machine? 这是怎么回事?

目前不支持从 windows shell cmdpowershell 上传工件。经过一段时间的挖掘,我发现根据 gitlab-ci-multi-runner\shells\bash.go bash 确实支持它。

对我来说可行的解决方案是:

  1. 安装 Bash(已包含在 Git-SCM 中)
  2. 将 bash 目录 (C:\Program Files (x86)\Git\bin) 添加到您的 PATH
  3. 如果您在 cmd
  4. 中键入 bash,请确保 bash 启动
  5. 找到你的 config.toml 和 modify/add:

    executor = "shell"  
    shell = "bash" 
    
  6. 重新启动您的 git-运行ner 服务

  7. 确保您的构建脚本符合 bash-syntax
    (例如 运行 windows 来自 bash 和 cmd.exe /c "dir" 的命令)