我在一臺salve機器上設置了一個Jenkins作業,而我是Linux shell的新手。現在我有一個問題:如何使「./gradlew」與「sudo ./gradlew」相同?
登錄身份詹金斯(詹金斯作業的用戶帳戶組),其執行./gradlew,比它會開始下載https://downloads.gradle.org/distributions/gradle-2.10-bin.zip,它會失敗,因爲糟糕的網絡,而如果它執行「sudo ./gradlew」,它將開始正常運行gradle。
有人可以幫助並告訴我,如何使用「./gradlew」與用戶jenkins中的「sudo ./gradlew」相同?
shell腳本來自所有的git,所以我不能通過添加「sudo」來修改它。
添加日誌中我的實際工作場景:
[email protected]:/local/jenkins/workspace/SV_TEST_/automation/robot$ id
uid=180(jenkins) gid=0(root) group=0(root)
[email protected]:/local/jenkins/workspace/SV_TEST_/automation/robot$ sudo ./gradlew webAPI:compileJava
Starting a new Gradle Daemon for this build (subsequent builds will be faster).
:common:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
:common:processResources UP-TO-DATE
:common:classes
:common:jar
:webAPI:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
BUILD SUCCESSFUL
Total time: 10.204 secs
[email protected]:/local/jenkins/workspace/SV_TEST_/automation/robot$ /local/jenkins/workspace/SV_TEST/automation/robot/gradlew -g /local/jenkins/.gradle -p /local/jenkins/workspace/SV_TEST/automation/robot clean
Downloading https://services.gradle.org/distributions/gradle-2.10-bin.zip
...
這可能是一個權限問題。看看這裏,如果它可以幫助你.http://stackoverflow.com/questions/33820638/travis-yml-gradlew-permission-denied –
這將有助於如果你發佈上下文的這個錯誤的控制檯日誌。 – 2016-04-21 09:31:34
做**不**請將用戶jenkins添加到組根目錄並且不**使用sudo執行gradlew。兩者都對您的服務器有安全風險。而是嘗試修復你的設置,以便正常的gradlew工作。即使你真的必須使用sudo(你很可能不需要)不要將jenkins添加到根組,但添加到/ etc/sudoers文件中,用戶jenkins可以使用sudo執行這一個命令,而不提供一個密碼。但是,再次,更好地解決您的設置,以便不需要sudo。正如tony19的建議,給我們控制檯輸出,也許我們能夠幫助你解決你的*真實*問題。 – Vampire