使用 Windows Runner 上传工件

Posted

技术标签:

【中文标题】使用 Windows Runner 上传工件【英文标题】:Upload artifacts with the Windows Runner 【发布时间】:2016-03-07 00:09:26 【问题描述】:

我们使用来自 Gitlab-ci 的官方 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? 这是怎么回事?

【问题讨论】:

他们显然正在努力:gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/52 【参考方案1】:

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

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

    安装 Bash(已包含在 Git-SCM 中) 将 bash 目录 (C:\Program Files (x86)\Git\bin) 添加到您的 PATH 如果您在cmd 中键入bash,请确保bash 启动

    找到您的 config.toml 并修改/添加:

    executor = "shell"  
    shell = "bash" 
    

    重启你的 git-runner 服务

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

【讨论】:

这是一个关于如何使用当前版本上传人工制品的答案。 注意 Gitlab 文档 advise 使用来自 Cygwin 的 bash,而不是来自 Git for Windows。

以上是关于使用 Windows Runner 上传工件的主要内容,如果未能解决你的问题,请参考以下文章

GitLab 多个运行器,交换工件

无法部署文件。没有许可证已离线安装工件

使用 Maven 在 Nexus 中自动上传工件

Nexus 支持批量上传工件吗?

ProGet 上传本地工件

将工件上传到 Artifactory 的首选方式是啥?