我想在創建新分支然后通過推送填充后觸發 Jenkins 作業。
例如我會做這樣的事情:
git checkout -b jdd_debug_branch_create_a
git push --set-upstream origin jdd_debug_branch_create_a
在 Jenkins 服務器上,我看到以下 json 片段通過來自 GitHub 通用 Web 掛鉤的推送事件傳遞。
{
"ref":"refs/heads/jdd_debug_branch_create_a",
"before":"0000000000000000000000000000000000000000",
"after":"b3df70cf4ac43b37b69c36560487d3aaaa352580"
}
假設一個推送事件,其中前參考全為零并且后參考非零將是第一次推送到這個新分支,這是否合理?
如果沒有,還有其他方法可以檢測何時首次推送到新分支?
uj5u.com熱心網友回復:
是的:這在 githooks 檔案中有所描述(需要一些作業):
... 其中 <old-value> 是存盤在 ref 中的舊物件名稱,<new-value> 是要存盤在 ref 中的新物件名稱,<ref-name> 是 ref 的全名。創建新 ref 時,<old-value> 是全零物件名稱。
相同的一般規則適用于洗掉,其中新值將是全零物件。
請注意,僅僅因為現在正在創建一些 ref(分支或標簽名稱)并不意味著由該 ref 及其前身標識的提交或提交本身是新的。例如,對于您的示例,jdd_debug_branch_create_a可能會將相同的提交標識為某些現有分支名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/508717.html
標籤:混帐github詹金斯
