发布单个文件以在 GitLab 上下载

Posted

技术标签:

【中文标题】发布单个文件以在 GitLab 上下载【英文标题】:Relase single file for download on GitLab 【发布时间】:2019-12-15 22:50:47 【问题描述】:

我在 GitLab 上有一个完整的开源项目。它编译一个 .iso 文件,这是最终用户唯一相关的文件。

现在,是否可以创建仅包含 .iso 文件的版本?这将使任何人都可以方便地下载当前的发布文件,同时也可以根据需要查看源代码。

现在我只看到将我的整个主分支标记为“发布”的选项。

最好的

【问题讨论】:

这听起来像是 CI/CD 的任务,请参阅 GitLab CI。您可以在 CI 作业中编译 iso 并分发作业工件。 【参考方案1】:

我也有同样的问题。我希望“发布”只包含一个下载 - 发布工件,而不是所有源代码。

我的发布来自 git 中的版本标记,并且 1:1 匹配,所以我真的不需要标签下的源“也发布”。

归根结底,gitlab 没有这个功能。

但是

我从this *** 得到答案并创建了一个.gitattributes 并包含以下条目,现在至少“源工件”是空的 zips/tars。

* export-ignore
.* export-ignore

【讨论】:

【参考方案2】:

目前无法在不发布所有源代码的情况下仅发布单个工件(例如您的 .iso)。

【讨论】:

【参考方案3】:

GitLab 版本允许您添加“资产”链接。资产可以是源代码或 URL。 URL 可以指向二进制文件。见Releases documentation。

我认为对您有用的是让您的构建和发布过程将 .iso 作为工件上传。然后,您可以使用 URL 将资产链接添加到版本以下载工件。查看artifact download documentation 以了解如何构建下载 URL。 ref 将是标签。

您将需要使用 API 来创建资产链接。请参阅Releases API documentation - 具体来说,如何“创建链接”

【讨论】:

该请求是专门针对“仅.iso”的 Gitlab 目前不支持这个,它会自动添加所有源,没有办法表明不包括它。你的答案甚至不是答案,只是链接去阅读和学习这是不可能的,因此,没有真正的帮助。

以上是关于发布单个文件以在 GitLab 上下载的主要内容,如果未能解决你的问题,请参考以下文章

Linux使用svn在github上下载部分文件(单个文件夹)

如何在github上下载单个文件夹?

如何在github上下载单个文件夹?

在 VMware 工作站 16 pro 上下载 Sift 工作站时出现问题

从 GitLab 工件存档下载单个文件

如何在github上下载单个文件夹?