【问题标题】:unzip cannot delete directory in Jenkins Pipeline解压缩无法删除 Jenkins Pipeline 中的目录
【发布时间】:2021-08-27 23:07:51
【问题描述】:

这就是我在使用 Jenkins 运行 AWS terraform 计划时得到的结果。下面是我们正在使用的代码

错误:错误:无法删除旧的 terraform 是目录

代码: sh '''设置 +x curl -L 'https://releases.hashicorp.com/terraform/0.11.10/terraform_0.11.10_linux_amd64.zip' --output terraform.zip 解压 -o terraform.zip echo "使用 $(terraform -version) 来自:$(which terraform)" ''' sh "terraform init -backend-config='bucket=${bucketName}'"

詹金斯错误:

+ set +x
after terraform download
Archive:  terraform.zip
error:  cannot delete old terraform
        Is a directory
[Pipeline] End of Pipeline
ERROR: script returned exit code 50
Finished: FAILURE

请提出一些更好的解决方案。

【问题讨论】:

  • Pipeline有解压方法。

标签: jenkins jenkins-pipeline


【解决方案1】:

Unzip 拒绝覆盖 terraform/ 目录,该目录似乎仍位于您的工作区中,从上次运行开始。

在unzip(或cleanWs())之前运行sh "rm -rf terraform/"

【讨论】:

    【解决方案2】:
    unzip -f terraform.zip
    

    使用 -f 代替 -o

    -f  freshen existing files, create none i.e unzip to replace the new files only
    -n  never overwrite existing files         
    -q  quiet mode (-qq => quieter)
    -o  overwrite files WITHOUT prompting
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-02
      • 2018-08-10
      • 2019-12-09
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多