gpt4 book ai didi

git - 使用 Jenkins 生成构建版本

转载 作者:行者123 更新时间:2023-12-04 16:07:52 25 4
gpt4 key购买 nike

我正在尝试找出一种在 Git 中的项目上创建构建标签的方法

我的想法是让 Jenkins 进行标记,如下文所示。

根据这篇文章: http://www.nailedtothex.org/roller/kyle/entry/configuring-automatic-push-by-successfully

我的理解是版本号是通过以下方式生成的:

(Major version).(Minor version).(Revision number).(Build number)

1.2.3 (11BCF) <- Build number, should correspond with a revision in source control
^ ^ ^
| | |
| | +--- Minor bugs, spelling mistakes, etc.
| +----- Minor features, major bug fixes, etc.
+------- Major version, UX changes, file format changes, etc.

根据这条消息: https://softwareengineering.stackexchange.com/questions/3199/what-version-naming-convention-do-you-use

我的项目有 4 个级别,即生产、测试​​、整合和开发。

发布看起来像

 PRODUCTION    (generate deploy build only if major/minor/revision number changes)
^ (send to STABLE repository)
|
TEST (generate deploy build only if major/minor/revision number changes)
^
|
CONSOLIDATION (generate all of the time)
^
|
DEVELOPMENT (generate all of the time)

如何修复 $BUILD_NUMBER 以便根据以下内容生成它($BUILD_NUMBER):(主要版本)。(次要版本)。(修订号)。(内部版本号)

我可以将什么传递给 Jenkins Job(在配置期间),以便它识别(主要版本).(次要版本).(修订号)

有没有更好的方法来实现这一点?

TIA

最佳答案

您不能更改 BUILD_NUMBER,由 Jenkins 按顺序管理。

但是您可以确保您的 Jenkins 作业构建步骤之一生成一个标记(在 semver convention 之后),然后最后一次重新编译您的项目,并使用这些版本信息生成一个属性文件。

参见“Applying the existing tag on a new commit in Git”。

这使用了 ktoso/maven-git-commit-id-plugin maven 插件。
它允许您的项目在运行时引用这个生成的属性(键/值)文件,您可以在其中找到 X.Y.Z 以及 Git SHA1。
该插件将运行 git describe给你:

The format of a describe result is defined as:

v1.0-2-g2414721-DEV
^ ^ ^ ^
| | | \-- if a dirtyMarker was given, it will appear here if the repository is in "dirty" state
| | \---------- the "g" prefixed commit id. The prefix is compatible with what git-describe would return - weird, but true.
| \------------- the number of commits away from the found tag. So "2414721" is 2 commits ahead of "v1.0", in this example.
\----------------- the "nearest" tag, to the mentioned commit.

关于git - 使用 Jenkins 生成构建版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48039228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com