我有一個Jenkins的工作超過100個版本。我需要搜索該作業的所有構建,以查找在控制檯輸出中具有特定字符串的構建。有沒有插件?我怎麼做?通過Jenkins工作臺的控制檯輸出進行搜索
6
A
回答
3
如果沒有額外的要求,我會做簡單的外殼,如:
find $JENKINS_HOME/jobs/haystack -name log -exec grep -l needle {} \; \
| sed 's|.*/\(.*\)/log|\1|'
1
上的錯誤和警告的摘要突出感興趣的行日誌中(錯誤,警告,信息)
將日誌劃分爲多個部分,顯示日誌及其部分中錯誤,警告和信息行數量的摘要。
錯誤和警告的彙總連接成完整的日誌的情況下,因此很容易找到日誌
在一條線上的興趣顯示了構建頁面
如果它是舊的日誌,那麼@jil的答案假設你在Linux上。
+0
不需要假設Linux。只需_bash_,_find_,_grep_和_sed_。他們可以很容易地安裝在Windows上(例如從cygwin或mingw),並且很有可能你已經擁有了它們,例如,如果你使用的是Git。 – jil
5
我經常使用Jenkins Script Console來完成這樣的任務。 Groovy plugin提供了腳本控制檯,但是如果您要使用腳本控制檯進行定期維護,您還需要Scriptler plugin,它允許您管理您運行的腳本。
從管理詹金斯 - >腳本控制檯,你可以寫,通過作業的迭代構建尋找匹配的字符串Groovy腳本:
JOB_NAME = "My Job"
BUILD_STRING = "Hello, world"
def job = Jenkins.instance.items.find { it.name == JOB_NAME }
for (build in job.builds) {
def log = build.log
if (log.contains(BUILD_STRING)) {
println "${job.name}: ${build.id}"
}
}
0
感謝大家對你有價值的解決方案。在進行了一些額外的研究之後,我發現Jenkins中有一個插件可以做到這一點。
https://wiki.jenkins-ci.org/display/JENKINS/Lucene-Search
這將保存控制檯輸出結果和用戶可以做的搜索框搜索。
相關問題
- 1. 運行Jenkins時的控制檯輸出
- 2. jenkins作業控制檯的輸出是如何工作的?
- 3. 過濾jenkins控制檯輸出的作業
- 4. Jenkins安全輸出控制檯faild build
- 5. 在Jenkins控制檯中輸出VBscript
- 6. 控制檯管道輸出:Jenkins
- 7. C#控制檯輸出不工作
- 8. Rails 4:從控制檯進行簡單的通配符搜索
- 9. 通過java控制檯逐行輸入
- 10. 寫作控制檯輸出
- 11. Java:Runtime.exec()只能通過控制檯工作
- 12. 通過SSH讀取進程的控制檯輸出,linux
- 13. 控制檯輸出
- 14. 輸出控制檯
- 15. 彈性搜索控制檯
- 16. 通過控制檯
- 17. Eclipse通過控制檯輸入進行調試
- 18. 需要對控制檯緩衝區和控制檯輸出進行響應
- 19. Log4j2寫入Jenkins管道作業控制檯輸出?
- 20. Jenkins控制檯輸出格式爲selemium webdriver執行
- 21. 控制檯輸出到子進程
- 22. os.system()的控制檯輸出?
- 23. 的IntelliJ控制檯輸出
- 24. Jenkins通過SSH運行Shellscript不離開控制檯
- 25. 通過控制檯輸入密碼
- 26. 自定義控制檯輸出通道
- 27. 重定向控制檯輸出從子控制檯進程到父控制檯進程失敗
- 28. 閱讀等過程控制檯輸出
- 29. 在Eclipse中過濾控制檯輸出
- 30. 如何將應用程序的控制檯輸出提取到Jenkins控制檯輸出?
雖然這是一個很好的答案,但如果我的一位開發人員要求訪問我們的Jenkins服務器,以便他們可以針對作業目錄運行shell命令,我會非常害怕。 :) –
你可以創建一個Jenkins作業,然後在shell步驟中運行這個工作,如果你關心的是@Dave。並且提到你自己的答案,我不認爲在控制檯中運行Groovy腳本比授予shell訪問更安全:) – jil