我想找到一种方法在Git中的项目上创建构建标记
我的想法是让詹金斯做标记,如下文所示。
根据这篇文章: Nor in this Python
我的理解是版本号将按以下方式生成:
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)
根据这条消息: http://www.nailedtothex.org/roller/kyle/entry/configuring-automatic-push-by-successfully
我有4个级别的项目,生产,测试,整合,发展。
版本看起来像
tests.extend([subject, unit, str(score), grade])
print tests
with open("test.txt", "a") as testFile:
for test in tests:
userName = test[0]
subject = test[1]
unit = test[2]
score = test[3]
grade = test[4]
testFile.write(userName + ';' + subject + ';' + unit + ';' + str(score) + ';' + grade + '\n')
如何修复$ BUILD_NUMBER以便根据以下内容生成它($ BUILD_NUMBER): (主要版本)。(次要版本)。(修订号)。(内部版本号)
我可以将什么传递给Jenkins作业(在配置期间),以便识别出的变化 (主要版本)。(次要版本)。(修订号)
有没有更好的方法来实现这一目标?
TIA
答案 0 :(得分:1)
您无法更改由{Jenkins}按顺序管理的BUILD_NUMBER
。
但是您可以确保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
:
描述结果的格式定义为:
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.