簡體   English   中英

如何在Jenkins中執行Shell腳本

[英]How to execute a shell script in Jenkins

當構建准備就緒時,我需要執行一些shell命令。 在Jenkins中,我創建了一個Freestyle項目,其執行shell選項如下:

#!/bin/sh
cd /path to kafka folder
bin/zookeeper-server-start.sh config/zookeeper.properties &
bin/kafka-server-start.sh config/server.properties &
cd /path to elasticsearch
bin/elasticsearch

我能夠從本地文件執行此Shell命令,但不能通過Jenkins執行。

這是我在詹金斯中看到的控制台輸出:

/Users/Shared/Jenkins/tmp/hudson2342342342342357656.sh: line 2: cd: /path to kafka folder: Not a directory
Build step 'Execute shell' marked build as failure
Finished: FAILURE

任何有關如何解決此問題的幫助? 謝謝。

這是一個權限問題。 請檢查您的Jenkins用戶是否具有運行此Shell命令的足夠權限

找出問題所在的最佳方法(例如,權限問題;文件夾不存在;等等),請執行以下操作:

  • 登錄到正在執行此作業的從節點(如果未定義,則可能是Jenkins服務器本身(“主”))
  • 如果在“ master”上:成為Jenkins運行的用戶(最有可能是“ jenkins”): sudo su - jenkins (如果您具有sudo / root訪問權限),或者su - jenkins (如果您知道jenkins的密碼)

  • 如果作業在另一個從屬服務器上運行,請找出Jenkins服務器以哪個用戶連接。 成為從屬節點上的該用戶。

  • cd /path/to/workspace (您可以通過查看作業運行的控制台來找到作業的工作區)
  • 現在,像在構建步驟中一樣在外殼中運行命令-關於它們為什么失敗的原因可能更加明顯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM