windows - 使用 Windows Runner 上传工件

标签 windows artifacts gitlab-ci runner

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

我们在 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 中键入 bash,请确保 bash 启动
  4. 找到您的 config.toml 并修改/添加:

    executor = "shell"  
    shell = "bash" 
    
  5. 重启你的 git-runner 服务

  6. 确保您的构建脚本采用 bash 语法
    (例如使用 cmd.exe/c "dir" 从 bash 运行 windows 命令)

关于windows - 使用 Windows Runner 上传工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048031/

相关文章:

windows - QTP是否支持检查Windows应用程序的代码?

MySQL my.ini 位置

deployment - 我如何让Jenkins在另一台服务器上运行脚本并监视结果?

c++ - OpenGL 渲染到纹理看起来呈锯齿状

git - Pip 在 Gitlab-CI 上使用个人访问 token 安装来自 Gitlab 的私有(private)仓库

docker - 使用 Docker Centos 7.5 镜像运行 GitLab CI 管道时,ChromeHeadless 超时

c++ - 如何从 Qt 应用程序通过 ODBC 连接到 MySQL 数据库?

java - 线程 "main"java.lang.NoClassDefFoundError : java/util/function/Predicate 中的异常

eclipse - Eclipse 如何正确识别 MPI 工件?

bash - gitlab ci 脚本在哪个 $?允许为非零