【Kubernetes社区之路】kubernetes机器人指令介绍

泄露秘密 提交于 2021-02-09 14:12:19

Prow是kubernetes社区使用的CI/CD系统,基于kubernetes实现,它提供了一系列/foo格式的命令供用户使用。使用这些指令,可以让机器人完成相应的工作,例如,当你提交PR后,可以使用/assign @<somebody>命令来指定一个owner来审核你的PR。

当开发者提交PR(Pull Request)到kubernetes社区时,机器人会自动回复你,并在回复中指示当前PR的状态或者指示你下一步该如何做,别人也会在你的PR中回复一些机器人命令,所以,做为开发者有必要清楚的了解常用的一些命令。

下面介绍一些比较常见的命令,更多的命令可以查阅官方介绍(https://prow.k8s.io/command-help)。

TODO: 或许可以按照标签操作类、流程控制类、其他来分类

重跑失败的用例:/retest

顾名思义,这个命令用于重新执行失败的测试(有时自动化测试会因环境因素而失败),由于只有PR才会触发自动化测试,所以这个命令仅用于PR中。

用法举例:

  • /retest : 重启失败的测试

使用条件:

  • 只能用于可信的PR,即包含ok-to-test标签的PR;
  • 任何人都可以使用;

命令效果:

  • 重新启动失败的测试;

图示如下:

手动触发测试用途:/test

/test用于手动执行某个或全部测试用例,有些用例并没包括在自动化测试用例范围内,如有必要可以手动触发。

用法举例:

  • /test pull-kubernetes-bazel-test:启动pull-kubernetes-bazel-test测试;
  • /test all: 启动全部测试用例;

限制条件:

  • 只能用于可信的PR,即包含ok-to-test标签的PR;
  • 任何人都可以使用;

命令效果:

  • 启动指定的测试用例;

图示如下:

修改标题:/retitle

看起来不错:/lgtm

lgtmlooks good to me的缩写,用来表示对某个PR的认可。

当某个reviewer在PR中回复/lgtm时有两个意思,一方面表示对PR的认可,另一方面指示机器人在该PR中打上lgtm标签。拥有lgtm标签是该PR最终能被合入的必要条件。

lgtm标签也是可以撤销的,当其他reviewer或作者发现还有问题需要修改时,可以以使用/lgtm cancel来撤消标签。

用法举例:

  • /lgtm:代码检视后使用,给PR增加lgtm标签;
  • /lgtm cancel:删除lgtm标签;

限制条件:

  • 只能被社区成员使用;
  • PR作者可以使用lgtm cancel;

命令效果:

  • 给PR增加或删除lgtm标签;

图示如下:

/check-dco

/check-cla

/cc

/assign

/approve

/auto-cc

/bugzilla refresh

/buildif(y|ier)

/meow(vie) [CATegory]

/(woof|bark|this-is-{fine|not-fine|unbearable})

/lint

/remove-

/hold [cancel]

/remove-

/close

/reopen

/[remove-]lifecycle

/milestone or /milestone clear

/status (approved-for-milestone|in-progress|in-review)

/override [context]

/(pony) [pony]

/project , /project , or /project clear

/release-note-none

/[un]shrug

/skip

/[remove-]stage

/ok-to-test

/joke

/joke是个非常有意思的命令,它会指示机器人讲个笑话,除此之外没有任何作用。

用法举例:

  • /joke;

限制条件:

  • 任何人都可以使用;

命令效果:

  • 机器人回复一个笑话,并@命令发起人;

图示如下:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!