我们有一个基本的CI/CD系统...当推动发生时,Bitbucket会通知我们的一台服务器 - 有一个提交SHA,还有回购等。
,但(对我来说(没有明显的方法来根据提交的规定来测试回购。特别是如果这是一个很大的回购,我们可能不会测试所有内容。所以我在想这样的事情:
git commit -am "regular commit message # path/to/test/folder"
因此,在"提交消息"中的最后一个#之后的所有内容都是通往包含test.sh文件的文件夹的路径。如果我们有git pre提交挂钩,我们可以在提交消息中验证信息?
有更好的方法吗?将一些元数据添加到指导CI/CD服务器的提交中如何测试提交?
最好将提交消息用于其预期目的 - 描述该提交的内容和基本原理。这是一个不错的参考。
关于CI/CD-在某些情况下,不想测试所有内容是有意义的,但是我建议尽可能迟到测试。IOW,测试每个提交上的所有内容,并尽可能快地进行测试。当您需要进一步优化时,您可以通过运行时间来对测试进行分区 - 在每个提交中运行所有"快速"测试,以及在每晚工作中所有"慢"测试。
最好的做法是用标头将此类元数据放入提交消息中,以将其与任何其他元数据区分开。例如,Gerrit使用Change-Id
标头:
Change-Id: xyzzy
因此您的命令应该像
git commit -a -m "regular commit message" -m "Test: path/to/test/folder"
这会产生提交消息
regular commit message
Test: path/to/test/folder
其余的是测试脚本。