Git 50个工具的发布管理

Git 50个工具的发布管理,git,docker,jenkins,version,release,Git,Docker,Jenkins,Version,Release,我们的团队致力于以各种语言编写的工具和包的组合。我们管理大约50个组件。我想知道是否有任何发布管理工具或工作流可以帮助我们: 了解上周发布的内容(或其他日期) 识别生产环境和暂存环境之间的差异(版本、版本更改) 我们大多数工具的一个共同点是,我们使用git作为源代码控制,使用Jenkins+Docker进行连续部署。Git和Jenkins都提供了一些跟踪版本和更改的机制。但他们专注于单个产品。没有一个能很好地概括我们产品组合中的所有50个组件。我们是否可以采用某种工具或流程来获得上述问题的答

我们的团队致力于以各种语言编写的工具和包的组合。我们管理大约50个组件。我想知道是否有任何发布管理工具或工作流可以帮助我们:

  • 了解上周发布的内容(或其他日期)
  • 识别生产环境和暂存环境之间的差异(版本、版本更改)
我们大多数工具的一个共同点是,我们使用git作为源代码控制,使用Jenkins+Docker进行连续部署。Git和Jenkins都提供了一些跟踪版本和更改的机制。但他们专注于单个产品。没有一个能很好地概括我们产品组合中的所有50个组件。我们是否可以采用某种工具或流程来获得上述问题的答案


我将感谢任何参考教程,詹金斯插件,git设置,其他工具(最好是免费的),无论什么。。。到目前为止,我还没有找到任何东西。

我不知道为什么会投反对票,但你可以试试下面的方法

不要认为有任何工具可以满足您的需要,但您可以编写脚本来获得所需的内容

由于各个项目都有自己的git标记、版本控制和发行版,您可以在所有项目上引入全局标记(这些标记可以是在所有项目上定期创建的加权git标记)

您可以将它们称为GBT(GlobalBuildTags)

第1步:

创建一个脚本,从数据库(或任何公共位置,如S3)读取以前的GBT(
GBT-COMPANYNAME-MONTH-YEAR-INCREMENTER
),并将值增加1,并标记所有50个项目

第二步: 生产部署完成后,您可以使用git命令从项目中获取最新的GBT,如果它是maven项目,您可以捕获pom版本(或者使用项目的状态api并获取部署代码的版本详细信息),并将这些详细信息发送到中心位置(考虑为此使用psql)

您可以将项目、GBT、其他标记、版本、环境、日期等详细信息写入psql表

如果您使用psql并将上述详细信息作为部署的一部分写入(创建一个包装器,在所有部署中使用它)


现在,您可以运行一个简单的查询,获取部署的版本、部署的时间、上周、上个月在项目或所有项目上发布的版本,并将其链接到整个组织的一个公共参考点。

我知道这不是一个典型的StackOverflow问题“如何在XY语言中合并2个阵列”。。。不过,如果一些选民给我一个提示,告诉我如何改进我的问题,我将不胜感激。谢谢。这个答案无疑帮助我思考解决方案。我仍然错过了“视觉解释”部分。我们也能做到,但需要额外的时间。我仍然希望有人已经以“现成的”形式开发了这样的解决方案。