我在詹金斯有兩個工作,其中一個工作副本爲「subversion/repos/mainframe」,另一個工作副本爲「subversion/repos /主機/子目錄」。詹金斯SVN提交後掛鉤不會觸發子目錄上設置的作業
然後,我在大型機存儲庫上創建了一個鉤子,在任何提交時調用Jenkins。這個鉤子一直在觸發我的第一個Job而沒有問題。但第二個工作根本沒有被觸發。唯一的區別是第二個Job被設置爲存儲庫中的子目錄,我想保留它。即使我在「subversion/repos/mainframe/subdir」中提交了一個文件,第二個Job也不會被輪詢,只有第一個。
我如何觸發第二個作業後提交鉤?
-commit.cmd後鉤:
\ ... \-commit.exe交%1%2
後commit.exe(清理):
' read Parameters
sArchive = Environment.GetCommandLineArgs(1)
sRevision = Environment.GetCommandLineArgs(2)
' get UUID
Dim process As New Process()
process.StartInfo.FileName = "svnlook.exe"
process.StartInfo.Arguments = "uuid " + sArchive
process.StartInfo.UseShellExecute = False
process.StartInfo.RedirectStandardOutput = True
process.Start()
Dim reader As StreamReader = process.StandardOutput
UUID = reader.ReadLine()
wrGETURL = System.Net.WebRequest.Create(jenkinsTESTURL + UUID.Trim() + "/notifyCommit?rev=" + sRevision)
wrGETURL.Method = "POST"
Dim postData As String = "`svnlook changed --revision " + sRevision + " " + sArchive + "`"
Dim byteArray As Byte() = Text.Encoding.UTF8.GetBytes(postData)
wrGETURL.ContentType = "text/plain;charset=UTF-8"
wrGETURL.ContentLength = byteArray.Length
Dim dataStream As Stream = wrGETURL.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
詹金斯日誌(僅第一個作業被觸發):
Mai 10, 2016 11:37:11 AM INFO jenkins.scm.impl.subversion.SubversionSCMSource$ListenerImpl onNotify
Received post-commit hook from 0e020a5b-918e-1147-8b68-31c6afce54ec for revision 152.138 on paths [look changed --revision 152138 D:\svn\testrepos\mainframe`]
Mai 10, 2016 11:37:11 AM INFO jenkins.scm.impl.subversion.SubversionSCMSource$ListenerImpl onNotify
No subversion consumers for UUID 0e020a5b-918e-1147-8b68-31c6afce54ec
Mai 10, 2016 11:37:11 AM INFO hudson.triggers.SCMTrigger$Runner run
SCM changes detected in PostcommitHook-Test. Triggering #52
Mai 10, 2016 11:37:20 AM INFO hudson.model.Run execute
PostcommitHook-Test #52 main build action completed: SUCCESS
編輯:
只需將第二個Job改爲指向「subversion/repos/mainframe /」即可。然後觸發器調用兩個作業。這不是一個可行的解決方案,因爲那樣的話提交的方式太多了,不應該影響Job的提交。
post-commit觸發涉及repo的作業的輪詢,您是否仔細檢查了輪詢scm在子目錄作業上是否啓用?它做了民意調查,沒有看到變化? –
是的,輪詢scm在沒有計劃的情況下啓用。 – drouning
是否有菜單條目可以查看最近一次投票的結果?它是否對應於您提交的時間? –