Prow
是kubernetes社区使用的CI/CD系统,基于kubernetes实现,它提供了一系列/foo
格式的命令供用户使用。使用这些指令,可让机器人完成相应的工做,例如,当你提交PR后,可使用/assign @<somebody>
命令来指定一个owner来审核你的PR。app
当开发者提交PR(Pull Request)到kubernetes社区时,机器人会自动回复你,并在回复中指示当前PR的状态或者指示你下一步该如何作,别人也会在你的PR中回复一些机器人命令,因此,作为开发者有必要清楚的了解经常使用的一些命令。ide
下面介绍一些比较常见的命令,更多的命令能够查阅官方介绍(https://prow.k8s.io/command-help)。测试
TODO: 或许能够按照标签操做类、流程控制类、其余来分类
ui
顾名思义,这个命令用于从新执行失败的测试(有时自动化测试会因环境因素而失败),因为只有PR才会触发自动化测试,因此这个命令仅用于PR中。this
用法举例:code
使用条件:blog
ok-to-test
标签的PR;命令效果:ip
图示以下:开发
/test
用于手动执行某个或所有测试用例,有些用例并没包括在自动化测试用例范围内,若有必要能够手动触发。rem
用法举例:
pull-kubernetes-bazel-test
测试;限制条件:
ok-to-test
标签的PR;命令效果:
图示以下:
lgtm
是looks good to me
的缩写,用来表示对某个PR的承认。
当某个reviewer在PR中回复/lgtm
时有两个意思,一方面表示对PR的承认,另外一方面指示机器人在该PR中打上lgtm
标签。拥有lgtm
标签是该PR最终能被合入的必要条件。
lgtm
标签也是能够撤销的,当其余reviewer或做者发现还有问题须要修改时,能够以使用/lgtm cancel
来撤消标签。
用法举例:
lgtm
标签;lgtm
标签;限制条件:
lgtm cancel
;命令效果:
lgtm
标签;图示以下:
/joke
是个很是有意思的命令,它会指示机器人讲个笑话,除此以外没有任何做用。
用法举例:
限制条件:
命令效果:
图示以下: