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

问题描述 投票:0回答:4

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

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

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

最好

git github gitlab release-management
4个回答
2
投票

GitLab 版本允许您添加“资产”链接。资产可以是源代码或 URL。 URL 可以指向二进制文件。请参阅发布文档

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

ref
将是标签。

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


2
投票

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

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

底线,gitlab 没有这个功能。

但是

我从 this stackoverflow 获取答案,并使用以下条目创建了 .gitattributes,现在至少“源工件”是空的 zip/tars。

* export-ignore
.* export-ignore

1
投票

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


0
投票

我只是在找这个。甚至从 git-scm.com 阅读一些文档、Gitlab、Github 等都让我更加困惑。

因此,从这里开始,https://justanopinion.blog/gitattributes-in-github-releases/,我几乎可以正常工作了。 我在项目的根目录下创建了一个 .gitattributes 文件;在文件中,我添加了我不想在压缩文件中添加的内容(tar.gz2、tar.gz、zip 等)。一个例子:

# .gitattributes
dev/ export-ignore
.gitignore export-ignore
.gitattributes export-ignore

为了测试,如文章所示,我从项目的根目录运行:

git archive --format=tar.gz HEAD -o /tmp/TEST-RELEASE.tar.gz

但是如果你这样做,它将不起作用,因为你必须先提交更改。

git add .gitattributes
git commit -m "Added .gitattributes file."
git archive --format=tar.gz HEAD -o /tmp/TEST-RELEASE.tar.gz

解压后即可查看

cd /tmp
tar xvf TEST-RELEASE.tar.gz
© www.soinside.com 2019 - 2024. All rights reserved.