0

我有一個住在我的CI管道,負責出版的分支和標籤,發佈AAR對我們的Maven Artifactory的,上傳的Javadoc等自動修補程序版本與語義版本關閉主分支的

Python腳本我們曾經遵循Git Flow的修改版本,我們將發佈「支持/」分支(用於長期支持少量產品版本,如'support/5.10')或「發佈/」分支(釋放回歸測試。

我的劇本,以確定主要/次要/補丁版本顛簸在Git的分支名稱主要依靠。

現在,我們都在不斷下降的支持分支機構和移動到更香草混帳流工作流程,我們會做的修補程序只關老爺的(當然,我們仍會有發佈分支,但問題就解決了......)

不過,我不能想出一個辦法安全地確定關閉主分支的補丁版本,因爲它顯然有它的名字沒有識別特徵,我們可以擦洗(我總覺得有點不安,我們所使用的方法,但是......工作)。

我可以訪問標記始終凹凸最高的國家之一,但是這是粗略的。

我可以輸入目標版本,但獲取CI的方式將迫使我們手動運行該腳本。

對如何處理這個沒有其他的想法?有人已經解決了這個問題?

回答

1

就個人而言,我傾向於遵循代表版本pypi標準。放置setup.py文件在您的回購其中包含的版本信息,以得到它與pypi工作指令一起根。

For example:

import os 
from setuptools import setup 

# Utility function to read the README file. 
# Used for the long_description. It's nice, because now 1) we have a top level 
# README file and 2) it's easier to type in the README file than to put a raw 
# string in below ... 
def read(fname): 
    return open(os.path.join(os.path.dirname(__file__), fname)).read() 

setup(
    name = "an_example_pypi_project", 
    version = "0.0.4", 
    author = "Andrew Carter", 
    author_email = "[email protected]", 
    description = ("An demonstration of how to create, document, and publish " 
            "to the cheese shop a5 pypi.org."), 
    license = "BSD", 
    keywords = "example documentation tutorial", 
    url = "http://packages.python.org/an_example_pypi_project", 
    packages=['an_example_pypi_project', 'tests'], 
    long_description=read('README'), 
    classifiers=[ 
     "Development Status :: 3 - Alpha", 
     "Topic :: Utilities", 
     "License :: OSI Approved :: BSD License", 
    ], 
) 

當然,你並不需要,如果你不使用PyPI將堅守這個正好。結論是,您應該在可以輕鬆讀取和處理的文件中表示版本。

+0

這是有道理的,但恕我直言它仍然有何時/如何更新語義版本的問題...我仍然看到過程的手動部分... –

+1

這是不太可能的,你要去一個點您沒有與版本字段中的數字進行一些手動交互。您必須嚴格遵循您的系統可以檢測到的一些行爲,以便自動遞增該值。例如,僅在進行主要更改時合併到主機中。在你的分支過程中編碼語義版本本身顯然是一個壞主意。自己增加價值要容易得多。 – melchoir55