我在 GitLab 上有一个已完成的开源项目。它编译一个 .iso 文件,这是最终用户唯一相关的文件。
现在,是否可以创建仅包含 .iso 文件的发行版?这将允许任何人方便地下载当前版本的文件,同时还可以根据需要查看源代码。
现在我只看到将我的整个主分支标记为“发布”的选项。
最好
GitLab 版本允许您添加“资产”链接。资产可以是源代码或 URL。 URL 可以指向二进制文件。请参阅发布文档。
我认为对您有用的是让您的构建和发布过程将 .iso 作为工件上传。然后,您可以将资产链接添加到版本中,并使用 URL 来下载工件。查看 artifact 下载文档 以了解如何构建下载 URL。
ref
将是标签。
您将需要使用 API 来创建资产链接。请参阅 Releases API 文档 - 具体来说,如何“创建链接”
我也有同样的问题。我希望“发布”仅包含单个下载 - 发布工件,而不是所有源代码。
我的发布来自 git 中的版本标记并匹配 1:1,所以我真的不需要标签下“也发布”的源代码。
底线,gitlab 没有这个功能。
但是
我从 this stackoverflow 获取答案,并使用以下条目创建了 .gitattributes,现在至少“源工件”是空的 zip/tars。
* export-ignore
.* export-ignore
目前无法在不释放所有源代码的情况下仅发布单个工件(例如 .iso)。
我只是在找这个。甚至从 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