Jenkins執行shell指令碼時要設定許可權
阿新 • • 發佈:2020-11-18
目前出現了一個問題,當我獨自用shell指令碼執行啟動springBoot時 就可以註冊到eureka上
如果用jenkins執行shell指令碼時 就會出現註冊不上去的情況
2020-11-18 13:47:54.808 INFO 29482 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_XIANNANSHAN-USER/172.17.165.145:xiannanshan-user:8060: registering service... 2020-11-18 13:47:54.994 INFO 29482 --- [extShutdownHook] com.netflix.discovery.DiscoveryClient : Shutting down DiscoveryClient ... 2020-11-18 13:47:55.050 INFO 29482 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_XIANNANSHAN-USER/172.17.165.145:xiannanshan-user:8060 - registration status: 204 2020-11-18 13:47:55.053 INFO 29482 --- [extShutdownHook] com.netflix.discovery.DiscoveryClient : Unregistering ... 2020-11-18 13:47:55.246 INFO 29482 --- [extShutdownHook] com.netflix.discovery.DiscoveryClient : DiscoveryClient_XIANNANSHAN-USER/172.17.165.145:xiannanshan-user:8060 - deregister status: 200 2020-11-18 13:47:55.273 INFO 29482 --- [extShutdownHook] com.netflix.discovery.DiscoveryClient : Completed shut down of DiscoveryClient
聰明的我領悟到有可能是因為shell指令碼沒有許可權執行檔案
在Jenkins執行shell指令碼時:
於是在shell指令碼前面加上sudo 提權執行
echo "開始執行maven打包" mvn clean install package -Dmaven.test.skip=true echo "maven打包完成" echo "開始複製jar包" pwd cd /root/.jenkins/workspace/xiannanshan-parents/ sh xiannanshan-publish.sh backup user prod sodo sh xiannanshan-publish.sh backup cloud-parent prod find /root/.jenkins/workspace/xiannanshan-parents -name '*.jar' -exec cp {} /usr/local/xiannanshan/xiannanshan-parents/lib/ \; sodo sh xiannanshan-publish.sh restart cloud-parent prod sudo sh xiannanshan-publish.sh restart user prod