通过Concourse Pipeline部署时tar打包sourcedir.tar.gz报错求助
解决tar打包报错的问题
错误原因
你已经切换到templates/training/scripts目录下,却用了嵌套的相对路径指定tar包输出位置,导致tar尝试在当前目录下再创建一层templates/training/scripts目录来存放压缩包,而这个路径根本不存在,因此触发"无法打开文件或目录"的错误。
修复方法
有两种直接的修复方式:
方式一:使用当前目录的简单路径
既然已经进入templates/training/scripts目录,直接指定压缩包文件名即可,无需带冗余的路径前缀:
tar -czvf sourcedir.tar.gz preprocessing.py
方式二:使用绝对路径
如果需要明确指定输出位置,利用之前保存的cd_save变量(根目录路径)拼接完整绝对路径:
tar -czvf "${cd_save}/templates/training/scripts/sourcedir.tar.gz" preprocessing.py
验证步骤
执行修复后的命令后,可通过以下命令确认压缩包是否生成:
# 方式一执行后,在当前目录查看 ls -l sourcedir.tar.gz # 方式二执行后,用绝对路径查看 ls -l "${cd_save}/templates/training/scripts/sourcedir.tar.gz"
确认压缩包生成后,即可正常将其复制到S3存储位置。
内容的提问来源于stack exchange,提问作者dewdrops
相关产品推荐
相关产品推荐

