2017-02-10 52 views
2

我正在爲項目的持續集成設置。所有的代碼都在一個github repo上,然後被合併,這將觸發一個webhook到一個運行特定作業的jenkins服務器。從那裏開始查看有效負載並根據其分支確定要運行的下游作業。其餘的有效載荷是不需要的。在那裏有很多在合併提交實例的JSON有效負載會非常大,以至於它會與下面的錯誤打破:Github webhook觸發詹金斯工作與太大的JSON有效載荷錯誤

Cloning the remote Git repository 
Cloning repository <git_repo> 
> git init <http://jenkins_instance/job> # timeout=10 
ERROR: Error cloning remote repo 'origin' 
hudson.plugins.git.GitException: Could not init <http://jenkins_instance/job> 
     ... 
Caused by: hudson.plugins.git.GitException: Error performing command: git init <http://jenkins_instance/job> 
     ... 
Caused by: java.io.IOException: Cannot run program "git" (in directory "<http://jenkins_instance/job>")>: error=7, Argument list too long 
     ... 
Caused by: java.io.IOException: error=7, Argument list too long 
     ... 
ERROR: null 

主要問題: 是否有降低的方式此有效載荷大小?或者有關如何處理有效負載以避免錯誤的建議?

設置類似於這篇文章How to process a github webhook payload in Jenkins?

這份工作電流設置爲「參數」,並有一個參數「字符串放慢參數」爲「有效載荷」。那麼這個變量主要shell執行過程中保存到像這樣一個文件:

echo "Current payload is ${payload}" 
if [ -d ./payload.txt ] 
then 
    rm payload.txt; 
fi 
touch payload.txt 
echo $payload >> payload.txt 

回答