在GitLab上释放单个文件以供下载

hwamh0ep  于 2023-11-15  发布在  Git
关注(0)|答案(4)|浏览(173)

我在GitLab上有一个完整的开源项目。它编译了一个.iso文件,这是最终用户唯一相关的文件。
现在,是否有可能创建一个只包含.iso文件的版本?这将允许任何人方便地下载当前的版本文件,同时如果他们想要的话,也可以查看源代码。
现在我只看到了将我的整个主分支标记为“发布”的选项。
最好

bqucvtff

bqucvtff1#

GitLab版本允许您添加“资产”链接。资产可以是源代码或URL。URL可以指向二进制文件。参见Releases documentation
我认为最适合你的是让你的构建和发布过程将.iso作为工件上传。然后你可以添加一个资产链接到发布版本,并带有下载工件的URL。查看工件下载文档,了解如何构建下载URL。ref将是标签。
您将需要使用API来创建资产链接。请参阅Releases API documentation-特别是如何“创建链接”

e5nszbig

e5nszbig2#

我也有同样的问题。我希望“releases”只包含一个下载--发布工件,而不是所有的源代码。
我的发布版本来自git中的版本标签,并且匹配1:1,所以我真的不需要在标签下显示“also released”。

  • 底线是,gitlab没有这个功能。*

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

* export-ignore
.* export-ignore

字符串

ckx4rj1h

ckx4rj1h3#

目前没有办法只发布单个工件,比如你的.iso,而不发布所有的源代码。

yh2wf1be

yh2wf1be4#

我只是在寻找这个。阅读一些文档,Gitlab,Github等,甚至从git-scm.com只是让我更困惑。
所以,从这里开始,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

相关问题