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
是個很是有意思的命令,它會指示機器人講個笑話,除此以外沒有任何做用。
用法舉例:
限制條件:
命令效果:
圖示以下: