我在我的 jenkins 檔案中使用了一個腳本,并且傳遞的引數之一包含一個空格(--detect.project.user.groups="DATABASE RELEASE 1.0"):
sh './detect.sh --logging.level.com.synopsys.integration=DEBUG --blackduck.url="${URL}" --blackduck.api.token="${TOKEN}" --detect.project.version.name=${buildVersion} --detect.project.user.groups=\"DATABASE RELEASE 1.0\" --detect.project.name=${projectName} --detect.source.path="${artifact_dir}/"'
通過常規 shell 腳本觸發時,相同的腳本運行良好,blackduck 能夠獲取包含空間的用戶組,但相同的命令通過 sh 腳本內的 jenkinsfile 運行,這里只DATABASE被拾取并且掃描失敗,因為它不是能夠找到正確的用戶組。
讓我知道是否有任何解決方法。
謝謝!
uj5u.com熱心網友回復:
https://community.synopsys.com/s/document-item?bundleId=integrations-detect&topicId=scripts/script-escaping-special-characters.html&_LANG=enus
有字面意思detect.sh --detect.project.name=\"Project Test\"
你必須用常規字串中的另一個反斜杠來轉義每個反斜杠
sh 'detect.sh --detect.project.name=\\"Project Test\\"'
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/454494.html
標籤:詹金斯 时髦的 jenkins-groovy 黑鸭
下一篇:使用當前日期創建工件目錄
