Home > Blockchain >  Bitbucket pipeline zipped files without directories
Bitbucket pipeline zipped files without directories

Time:02-13

This is my script:

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/

Why all files in zip are in root and not in directories as I see then when I echo them? What is the problem?

CodePudding user response:

I don't exactly understand your question but my first impression is it can be a relative path/full path situation. Bitbucket pipelines are using a standard directory something line /opt/atlassian/pipelines/agent/build to pull the code. This variable can be extracted by using BITBUCKET_CLONE_DIR built-in variable, Maybe you can try to combine this variable with your relative path to create your directory. something like mkdir -p $BITBUCKET_CLONE_DIR/$BITBUCKET_REPO_SLUG can be useful.

Reference : https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/

CodePudding user response:

I fixed my problem with copy command to this:

cp -R --parents $FILES $BITBUCKET_REPO_SLUG/
  • Related