簡體   English   中英

在 Jenkins 中找不到 Zip 命令

[英]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 風格

  1. 首先安裝 zip 實用程序
sudo dnf install zip
  1. 然后在管道腳本中執行 zip 命令
zip -r zip_file_name src_dir

如果您使用 ubuntu/debian 風格的 jenkins 代理

  1. 使用 apt 安裝 zip 實用程序
sudo apt install zip
  1. 在管道腳本中執行 zip 命令
zip -r zip_file_name src_dir

更新:

如果您在 docker 容器中使用 Jenkins,則可以執行類似於以下的操作。

我猜你正在運行 ubuntu 基礎鏡像(識別相應的基礎鏡像 Linux 風格並執行以下命令)

  1. 使用 exec 命令進入 docker 容器
docker exec -it <container> /bin/bash
  1. 更新包
apt-get -y update
  1. 安裝壓縮包
apt-get install zip -y

但請記住,如果您刪除此容器,您將失去此設置。 您可能已經重復了所有這些步驟

暫無
暫無

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

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