【问题标题】:Zip command on Linux includes whole folder structureLinux 上的 Zip 命令包括整个文件夹结构
【发布时间】:2018-05-11 16:11:59
【问题描述】:

我目前正在将持续集成整合到我正在使用 Bamboo 进行的项目中。我们正在使用 ANT 脚本进行构建自动化,作为最后一项任务,我们使用 linux Zip 命令来创建发布 zip 文件。问题是 zip 文件包含通向发布文件夹的整个文件夹链,这不是我希望包含的内容。

目前我正在使用以下 ant 调用:

<exec executable="/usr/bin/zip" 
                  dir="${basedir}/tmp"
                  failonerror="true">
            <arg line="-r /var/...more directories.../repo/master/ProjectBuild/tmp/release.zip /var/...more directories.../repo/master/ProjectBuild/tmp/release -P PASSWORD_GOES_HERE" />
</exec>

这将使用正确的密码创建正确的 .zip 文件,但在里面而不是 /release 文件夹的文件夹和内容我有整个路径,即 /var/...更多目录.../master.../释放/。我尝试使用 -j 参数,但失败了,因为发布文件夹内的不同子文件夹中有两个同名文件。

有什么方法可以只在 .zip 文件中包含发布文件夹的内容?

【问题讨论】:

    标签: linux ant zip bamboo


    【解决方案1】:

    你试过了吗:

    <exec executable="/usr/bin/zip" 
                      dir="/var/...more directories.../repo/master/ProjectBuild/tmp/"
                      failonerror="true">
        <arg line="-r /var/...more directories.../repo/master/ProjectBuild/tmp/release.zip release -P PASSWORD_GOES_HERE" />
    </exec>
    

    如果你不想看到发布的顶层目录,你可以试试:

    <exec executable="/usr/bin/zip" 
                      dir="/var/...more directories.../repo/master/ProjectBuild/tmp/release"
                      failonerror="true">
        <arg line="-r /var/...more directories.../repo/master/ProjectBuild/tmp/release.zip . -P PASSWORD_GOES_HERE" />
    </exec>
    

    【讨论】:

    • 是的!非常感谢!我以为是这样,但出于某种原因我放弃了这个想法,我猜是脑残:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多