使用Jenkins生成Build版本

时间:2017-12-31 01:22:02

标签: git jenkins

我想找到一种方法在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

1 个答案:

答案 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.