我正在學習Puppet,我對整個範例的最大挫折是我用來構建功能性Puppet代碼的try/run/fix開發過程。我的背景是在Java中,我很自然地用於調試我的代碼來查找錯誤,而不是運行程序來查看它在哪裏炸彈使開發更快,但我似乎無法找到一種方法來使用Puppet和Eclipse 。我知道爲Puppet編寫調試器需要一定的創造力,但我認爲這是社區可以從中受益的東西。爲什麼我不能調試我的木偶代碼?
我已經編寫了調試器,並且知道Eclipse SDK,但不幸的是,它並沒有乾淨地映射到Puppet體系結構,這有點尷尬,因爲它的運行時棧和執行流不會以自然順序發生,運行時需要目標機器應用更改。
我很好奇,如果社區做了任何開發工作,試圖創建某種類型的代碼可以跨步的調試器。爲了寫這篇文章,我認爲使用新的Puppet調試配置類型來擴展Eclipse是有意義的,在該類型中指定目標沙箱主機來測試代碼以及要調試的工作區中的puppet項目(利用現有的Gepetto工具)。然後,當您啓動新的Puppet調試會話時,Eclipse可以連接到遠程主機,執行puppet apply以及一些額外的調試參數,並以某種方式從運行時提供關於當前正在執行哪行代碼的反饋。
這仍然可能是尷尬的,但會允許木偶開發人員快速看到像噢噢..我不能創建此目錄,因爲父路徑不存在,請等待...爲什麼這是如果陳述不會去這裏就像我計劃的那樣,哦,我在這裏看到Puppet在單引號或雙引號中不是很清楚,或者現在我明白爲什麼這個失敗是因爲這個類沒有被第一個執行等等。等等。
相反,我們得到的只是一個很大的醜陋輸出在代理控制檯上,是的,可以給我們洞察錯誤,但不會乾淨地將異常映射到我們的代碼中,在我看來,它顯示了Puppet潛在的痛苦和弱點,你至少能給我一個堆棧跟蹤和行號,所以我知道在哪裏看?不,謝謝。
不要誤解我的意思,我喜歡Puppet如何讓我在整個工作週期間看起來非常高效,當時我正在運行的Puppet適用於新機器,這是我的經理尚未想出來的,但我認爲木偶真的很有用,這種缺乏調試支持是需要解決的。
有沒有其他人感受到這種痛苦? - 鄧肯克雷布斯
謝謝,聽起來像它值得檢查! – 2017-05-03 04:08:45