【发布时间】:2020-09-10 08:28:35
【问题描述】:
我正在尝试将两个不同的文件夹同步到同一个 s3 存储桶中的不同目标,但我在 Jenkins 中不断收到此错误:
用户提供的路径 folder2/ 不存在。 构建步骤“执行 shell”将构建标记为失败
奇怪的是folder2 文件夹存在。我的 Jenkins shell 命令如下所示:
#!/usr/bin/env bash
set -ex
# set some env vars
docker build --build-arg APP_ENV --build-arg DEPLOY_ROOT=${ACTUAL_COMMIT_HASH} -t docker-thing .
docker run --rm \
--env S3_BUCKET \
--env AWS_ACCESS_KEY_ID \
--env AWS_SECRET_ACCESS_KEY \
--env AWS_DEFAULT_REGION \
docker-thing \
# sync folder 1
aws s3 sync folder1/ s3://${S3_BUCKET}/
# sync folder 2
aws s3 sync folder2/ s3://${S3_BUCKET}/${ACTUAL_COMMIT_HASH}/
文件夹 1 会同步没有问题,但随后第二个文件夹不会说它不存在,而实际上它确实存在。
如果我要切换同步这些的顺序,我会得到相同的结果。文件夹 2 会同步,而文件夹 1 不会。
我错过了什么吗?
【问题讨论】:
-
反斜杠看起来像是在 docker 内部运行第一个命令,在 docker 外部运行第二个命令。
标签: amazon-web-services docker jenkins amazon-s3