[英]Zip Command not found in Jenkins
我正在嘗試在 Jenkins 管道中壓縮目錄,我的代碼與此類似
stages {
stage('ZIP') {
steps {
script {
currentBuild.displayName = "DISPLAY_NAME"
}
// Zip DIRECTORY
sh '''
cd ${WORKSPACE}
zip -r zip_file_name src_dir
'''
}
}
}
我收到以下錯誤
@tmp/durable-4423e1f6/script.sh:第 3 行:zip:找不到命令
但是,當我使用執行作為構建的 shell 選項創建另一個作業時,zip 工作正常。
我曾嘗試使用 zip 管道實用程序插件,但是當我嘗試訪問 zip 文件時找不到它。
script {
currentBuild.displayName = "${VERSION}"
zip zipFile: '${zip_file_name}', dir: 'src_dir', overwrite: true
}
@raviTeja,我猜您的詹金斯代理機器中缺少 zip 實用程序。 您的 Jenkins 代理的操作系統風格是什么? 假設您使用的是 Redhat、ubuntu 等 Linux 風格。首先您需要在代理機器中安裝 zip 實用程序。 然后,您可以單獨在腳本中使用 zip 命令
如果您在代理機器中使用 RedHat 風格
sudo dnf install zip
zip -r zip_file_name src_dir
如果您使用 ubuntu/debian 風格的 jenkins 代理
sudo apt install zip
zip -r zip_file_name src_dir
更新:
如果您在 docker 容器中使用 Jenkins,則可以執行類似於以下的操作。
我猜你正在運行 ubuntu 基礎鏡像(識別相應的基礎鏡像 Linux 風格並執行以下命令)
docker exec -it <container> /bin/bash
apt-get -y update
apt-get install zip -y
但請記住,如果您刪除此容器,您將失去此設置。 您可能已經重復了所有這些步驟
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.