如何在 GitLab 中创建版本?

我创建了一个私有存储库,然后将其更改为公共存储库。然而,我找不到任何方法来释放。有没有可能在 GitLab 创建发行版?如果是这样,他们是如何做到的?

151670 次浏览

如果你说的是 类 GitHub 的发布,也就是 associate one or several binaries to a tag,那么不,GitLab 还没有包含这个特性。

你有一个 正在进行的建议,其中拉请求被接受。

2015年11月更新: 正如我在“ 如何在 GitLab 中存储发布/二进制文件?”中提到的,GitLab 8.2支持版本

使用发行版,您现在可以向任何 Git 标记添加 Markdown 格式的消息,并向其附加任意数量的文件。

注意: 其发布 API还不支持文件附件。

Keelan 提到 在评论中第31221期正在跟踪该请求。


GitLab 11.7 (2019年1月)增加了在 GitLab 中创建版本并在摘要页面上查看它们的能力。

发布版本是源代码、链接以及与代码发布版本相关联的其他元数据或构件的及时快照,允许项目用户轻松发现代码 的最新发布版本。

https://about.gitlab.com/images/11_7/release-releases_page.png


GitLab 12.6(2019年12月)增加了“自动发布证据收集以支持审计”

GitLab Releases now have a new Evidence collection entry in which you can find a snapshot of the Release’s metadata in JSON format. This snapshot can be leveraged as a chain of custody to support review and compliance processes, such as audits.

参见 issue 26019文件

https://about.gitlab.com/images/12_6/release_evidence.png


GitLab 12.10(2020年4月)允许:

比较释放证据随着时间的推移

(只适用于高级版)


GitLab 13.2(2020年7月) 补充道:

.gitlab-ci.yml创建版本

在12.10中,我们介绍了一种从 .gitlab-ci.yml文件自动创建发布标记的方法。
现在我们通过将 release 关键字作为 GitLab Runner 可以解析的一个步骤来使用起来更加简单和自然。您不再需要添加脚本来调用 ReleaseAPI 来创建发布。
相反,您可以简单地将正确的参数添加到 CI/CD 文件中。

https://about.gitlab.com/images/13_2/release_yaml.png

参见 文件问题


GitLab 13.5 (2020年10月)现在有:

将二进制资产附加到版本

如果因为不能将二进制文件附加到发布版本,所以当前没有在发布版本中使用 GitLab,那么您的工作流程就变得简单多了。

您现在可以将二进制文件附加到来自 gitlab.ci-yml的发布标记。这扩展了对版本资产的支持,包括二进制文件,而不仅仅是资产链接或源代码。这使得您的开发团队更容易采用 GitLab 并使用它来自动化您的发布过程。

https://about.gitlab.com/images/13_5/release_assets.png -- Attach binary assets to Releases

参见 文件问题


GitLab 13.7合作(2020年12月) :

Define your release description in an external file

如果您是 通过项目的 .gitlab-ci.yml文件在管道中创建版本,您可能会发现很难维护每个版本的描述。

In GitLab 13.7, you can now define your release description in a source-controlled or auto-generated file and call it from .gitlab-ci.yml.
这样做会将文件内容作为 Markdown 加载到您的版本描述中。

这使得版本更容易创建、维护和使用版本控制,如果您想自动生成更改日志,这一点尤其有用。
非常感谢 Nejc Habjan和西门子为社区做出的巨大贡献!

参见 文件问题


GitLab 13.10(2021年3月)

从现有标记创建发布

以前,只支持为新标记创建发行版。在 GitLab 13.10中,您现在可以通过选择一个现有的标记来创建一个发布,这将使您在规划发布时具有更大的灵活性。

https://about.gitlab.com/images/13_10/exiting_tags.png -- Create a release from an existing tag

参见 Documentation问题


连同 GitLab 13.12(2021年5月)

Release: 关键字支持资产链接

自从 GitLab 13.2以来,您已经能够使用 release:关键字和 松开 Cli一起创建一个版本。

release:关键字现在已经扩展到包括对资产链接的支持,以便您可以在单个 .gitlab-ci.yml发布作业中创建发布版并将文件附加到它们。

https://about.gitlab.com/images/13_12/release-asset-links.png -- release: keyword supports asset links

参见 文件问题


GitLab 15.1(2022年6月)补充称:

使用 GraphQL ReleaseAPI 创建带注释的标记

以前,您只能在使用 GraphQLAPI 创建发行版时创建轻量级标记。

通过此更新,您现在可以添加一个可选的 tagMessage参数,以便在创建发行版时创建带注释的标记。
这使您能够将相关信息与新标记一起包含在内,因此下游用户和应用程序可以具有额外的上下文。

参见 文件问题


And when creating a release with a GitLab CICD pipeline, GitLab 15.3 (August 2022) proposes:

使用 release: tag _ message 关键字创建带注释的标记

Create annotated tags by using release:tag_message keyword

现在可以在创建发行版时创建带注释的标记。在 .gitlab-ci.yaml文件中,使用 release关键字包含一个可选的 tag_message子键并指定一条消息。这使您能够将相关信息与新标记一起包含在内,因此下游用户和应用程序可以具有额外的上下文。

参见 Documentation问题

或者,仍然是 GitLab 15.3(2022年8月) :

使用 ReleaseCLI 创建带注释的标记

Previously, you were only able to create lightweight tags when using the GitLab Release CLI to create a release.

通过此更新,您现在可以添加一个可选的 tag-message参数,以便在创建发行版时创建带注释的标记。
这使您能够将相关信息与新标记一起包含在内,以便下游用户和应用程序能够获得额外的上下文。

参见 文件问题

release-cli --server-url https://gitlab.com --job-token=SOME_JOB_TOKEN --project-id 12345 create help

GitLab 15.5合作(2022年10月) :

在版本页面中创建带注释的标记

您现在可以创建带注释的标记,并将它们添加到您的版本中的版本页面中。您可以使用带注释的标记向下游用户和应用程序提供关于版本的附加信息。

https://about.gitlab.com/images/15_5/release-create-annotated-tag.png -- Create annotated tags in the Releases page

参见 Documentation问题

2015年11月更新: GitLab 8.2现在支持发布。

通过它的 API,您现在可以使用 创建和更新与标记关联的版本。 目前,它只能向 git 标记(又名发布)添加发布说明(标记文本和附件)。

使用 gitlab 标签。

创建一个标记/标记名称和提交说明 git tag -a v1.05 -m "1st stabe release

push changes git push origin --tag

I haven't been able to figure out how to use the markdown release notes on gitlab yet which allows you to add links. You might have to do it manually or use their rest api.

直接来源: https://docs.gitlab.com/ee/university/training/topics/tags.html

在 GitLab 网站上创建一个版本:

  1. 去你的仓库
  2. 在菜单中选择 储存库 > 标签
  3. 为应用程序的版本添加一个标记。
  4. 添加有关发行版的消息(标题)。
  5. 添加描述版本细节的说明。(没得选择。向标记添加注释使其成为一个发布。)
  6. 创建标记

enter image description here

发布现在将显示在 工程项目 > 公布下。请在 GitLab 文档阅读更多内容。GitLab 建议您现在使用 发布 API,但是他们的文档很难理解。不过,这将是使用 CI/CD 实现所有事情自动化的首选方法。

Releases in a "modern" GitLab are more than just Git Tags. I've already written a 详细描述 on this exact topic.

简而言之,创建发布包括以下步骤:


1)为你的提交创建一个标签

git tag -a MY_TAG_NAME 30728cab


2)将标记推送到远程存储库

git push REMOTE_REPO_NAME REMOTE_BRANCH_NAME MY_TAG_NAME


3)上载档案

curl --request POST --header "Private-Token: YOUR_PRIVATE_TOKEN" --form "file=@/PATH/TO/THE/FILE/file.txt" "https://MY_GITLAB_HOSTING.COM/api/v4/projects/MY_PROJECT_ID/uploads"


警告: 目前还没有正式的方法从 GitLab 存储库中删除上传的二进制文件-我建议将它保存到其他主机上,只保存链接!


4)创建一个发布版本

curl --request POST --header 'Content-Type: application/json' --header "Private-Token: YOUR_PRIVATE_TOKEN" --data '{"name": "MY_RELEASE_NAME", "tag_name": "MY_TAG_NAME", "description": "Release with the binary LINK_TO_YOUR_BINARY"}' "https://MY_GITLAB_HOSTING.COM/api/v4/projects/MY_PROJECT_ID/releases"


最后,我强烈建议主要看一看我的旧的,链接的答案,因为很多事情都在那里解释和有用的 Bash 脚本附加,太!