问题描述
希望在每次提交或发布时,能够自动将语义版本和提交注释显示在他的网站上。他最近开始使用Git、GitHub、GitFlow、Axosoft和GitKraken。他想知道在这些产品中是否已经有可以自动实现这一功能的选项、插件或类似RSS的提要,还是需要使用Git Webhooks来调用他的网站并插入到数据库中。他可以处理PHP/MySQL,只是寻求有关如何设置上述产品之间通信的建议,以便能够为客户创建显示这些信息的PHP页面。用户期望能够展示如下格式的最新发布记录:
– [timestamp] – RELEASE v2.1.1
– [timestamp] – [axof: 2] ENHANCED XYZ […一两句详细信息…]
– [timestamp] – RELEASE v2.0.1
– [timestamp] – [axof: 1] BUG ABC FIXED […一两句详细信息…]
解决方案
请注意以下操作可能存在版本差异,建议在操作之前做好备份。
方案1: 使用Jira、Bitbucket、Jenkins等工具
- 在开发过程中,使用Jira来管理用户故事(需求),Bitbucket来进行源代码管理,Jenkins用于CI(持续集成)。
- 在提交代码时,需在提交注释中包含以下信息:
- 对应的Jira ID(用户故事的ID)
- 实际的变更注释,例如:[JIR-BBA]:: 从数据库中获取正确的URL。
- 在Jenkins中的任务中,通过脚本将提交注释中的Jira ID提取出来(例如将 [JIR-BBA] 转换为 Jira ID),然后将该信息传递给Bitbucket插件,用于自动更新对应的Jira故事。
- 在Jenkins任务中,可以使用Python脚本连接到Jira,并根据开发者提供的注释和作业完成状态(如SIT Deploy、SIT Test、UAT Deploy等)更新相应的Jira任务。
- 在Jira中,为每个作业(如’Dev done’、’QA done’等)更新注释,以跟踪每个需求的状态和部署进度。这样,你就无需每次都去Jenkins查看状态,最新状态已经在Jira中可见。
方案2: 使用Travis CI与GitHub Pages
- 使用GitHub来存储代码,然后使用Travis CI或其他CI工具来实现以下步骤:
- 进行质量和安全评估:使用单元测试、测试覆盖率报告、代码质量检查等。
- 创建发布:Travis CI支持发布功能,可参考这里。
- 代码版本管理:可以基于GitFlow等方式编写额外的脚本来管理版本号。
- 部署:如果你使用Heroku作为PHP运行时环境,可以使用Travis CI进行部署(其他环境需要适当配置)。
- 使用GitHub Pages,并结合Repository Metadata插件,可以在网站上显示软件版本信息,更多信息请参考这里。
具体操作步骤可能根据你的需求和使用的工具稍有不同,但以上方案提供了通用的思路来实现自动化展示Git版本和提交注释的需求。根据具体情况选择适合的方案,并根据版本和工具的不同进行适当的调整。
正文完