在git commit中添加元数据,以了解如何进行测试

lokaqttq  于 12个月前  发布在  Git
关注(0)|答案(2)|浏览(108)

我们有一个基本的CI/CD系统.当推送发生时,Bitbucket会通知我们的一个服务器-有一个提交SHA,以及repo等。
但是(对我来说)没有明显的方法可以根据提交的不同来测试repo。特别是如果这是一个大的回购,我们可能不想测试一切。所以我在想这样的事情:

git commit -am "regular commit message # path/to/test/folder"

所以提交消息中最后一个#之后的所有内容都将是一个包含test.sh文件的文件夹的路径。如果我们有git pre commit钩子,我们可以验证提交消息中的信息吗?
有没有更好的方法来做到这一点?有没有一种方法可以在提交中添加一些元数据来指导CI/CD服务器如何测试提交?

zpqajqem

zpqajqem1#

最好将提交消息用于其预期目的--描述提交的内容和基本原理。这里是a nice reference
关于CI/CD -在某些情况下,不想测试所有东西是有道理的,但我建议尽可能晚地划分测试。IOW,在每次提交时测试所有内容,并尽可能快地保持测试。当你需要进一步优化时,你可以根据测试的运行时间来划分测试--在每次提交时运行所有“快”的测试,在夜间作业中运行所有“慢”的测试。

wz8daaqr

wz8daaqr2#

最佳实践是将此类元数据放入提交消息中,并带有头文件,以将其与任何其他元数据区分开来。例如,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

剩下的就看测试脚本了。

相关问题