没有目录的 Bitbucket 管道压缩文件
Bitbucket pipeline zipped files without directories
这是我的脚本:
image: python:3.5.7
pipelines:
default:
- step:
script:
- apt-get update
- apt-get -qq install zip curl
- mkdir $BITBUCKET_REPO_SLUG
- export VERSION_LABEL=$(date +%Y-%m-%d_%H:%M:%S)
- export ZIP_FILE=update_$BITBUCKET_REPO_SLUG_$VERSION_LABEL.zip
- export FILES=$(git diff-tree --no-commit-id --name-only -r HEAD^^..HEAD)
- echo "Repo name is $BITBUCKET_REPO_SLUG & version is $VERSION_LABEL"
- echo $FILES
- cp -R $FILES $BITBUCKET_REPO_SLUG/
- rm -f $BITBUCKET_REPO_SLUG/bitbucket-pipelines.yml
- rm -f $BITBUCKET_REPO_SLUG/.gitignore
- zip -r $ZIP_FILE $BITBUCKET_REPO_SLUG/
为什么 zip 中的所有文件都在根目录中,而不是在我回显它们时看到的目录中?
有什么问题?
我不太明白你的问题,但我的第一印象是它可能是相对 path/full 路径情况。 Bitbucket 管道使用标准目录某行 /opt/atlassian/pipelines/agent/build
来提取代码。这个变量可以通过使用 BITBUCKET_CLONE_DIR
built-in 变量来提取,也许你可以尝试将这个变量与你的相对路径结合起来创建你的目录。 mkdir -p $BITBUCKET_CLONE_DIR/$BITBUCKET_REPO_SLUG
之类的东西很有用。
参考:https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/
我用复制命令解决了这个问题:
cp -R --parents $FILES $BITBUCKET_REPO_SLUG/
这是我的脚本:
image: python:3.5.7
pipelines:
default:
- step:
script:
- apt-get update
- apt-get -qq install zip curl
- mkdir $BITBUCKET_REPO_SLUG
- export VERSION_LABEL=$(date +%Y-%m-%d_%H:%M:%S)
- export ZIP_FILE=update_$BITBUCKET_REPO_SLUG_$VERSION_LABEL.zip
- export FILES=$(git diff-tree --no-commit-id --name-only -r HEAD^^..HEAD)
- echo "Repo name is $BITBUCKET_REPO_SLUG & version is $VERSION_LABEL"
- echo $FILES
- cp -R $FILES $BITBUCKET_REPO_SLUG/
- rm -f $BITBUCKET_REPO_SLUG/bitbucket-pipelines.yml
- rm -f $BITBUCKET_REPO_SLUG/.gitignore
- zip -r $ZIP_FILE $BITBUCKET_REPO_SLUG/
为什么 zip 中的所有文件都在根目录中,而不是在我回显它们时看到的目录中? 有什么问题?
我不太明白你的问题,但我的第一印象是它可能是相对 path/full 路径情况。 Bitbucket 管道使用标准目录某行 /opt/atlassian/pipelines/agent/build
来提取代码。这个变量可以通过使用 BITBUCKET_CLONE_DIR
built-in 变量来提取,也许你可以尝试将这个变量与你的相对路径结合起来创建你的目录。 mkdir -p $BITBUCKET_CLONE_DIR/$BITBUCKET_REPO_SLUG
之类的东西很有用。
参考:https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/
我用复制命令解决了这个问题:
cp -R --parents $FILES $BITBUCKET_REPO_SLUG/