这是我的剧本:
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中的所有文件都在根目录中,而不是在目录中,就像我在回显它们时看到的那样?有什么问题吗?
发布于 2022-02-12 18:32:12
我修正了copy命令的问题如下:
cp -R --parents $FILES $BITBUCKET_REPO_SLUG/发布于 2022-02-12 14:00:23
我不太明白你的问题,但我的第一印象是,这可能是一种相对路径/完全路径的情况。Bitbucket管道正在使用一个标准目录--某一行/opt/atlassian/pipelines/agent/build --来提取代码。这个变量可以通过使用BITBUCKET_CLONE_DIR内置变量来提取,也许您可以尝试将这个变量与您的相对路径结合起来创建您的目录。类似于mkdir -p $BITBUCKET_CLONE_DIR/$BITBUCKET_REPO_SLUG的东西可能很有用。
参考资料:https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/
https://stackoverflow.com/questions/71080747
复制相似问题