Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Upload a file in pipeline

Scott Remiger October 24, 2022

Following the example in 

 

https://support.atlassian.com/bitbucket-cloud/docs/deploy-build-artifacts-to-bitbucket-downloads/

 

I am attempting to upload into the download area of BitBucket

Followed directions until I get to step 3a

Pasted that into my pipeline

 

I get the following error 

✖ File frontend/build/.zip doesn't exist.

I am assuming that this is because variables do not carry over from 1 step to the next.

My question is how do I get the artifact into the next step?

Where is the docker container going to have its root directory?

Here is my pipeline

 

image: node:lts

pipelines:
pull-requests:
'**':
- step:
name: Build APP on Pull Requests
caches:
- nodeall
- yarn
script:
- cd frontend
- yarn
- CI=$process_env_ci_pull_request yarn run build
- cd build
- zipfile="AR5-$BITBUCKET_BUILD_NUMBER"
- uname="$BITBUCKET_USERNAME"
- pwd="$BITBUCKET_APP_PASSWORD"
- echo $zipfile
- python -c "import shutil;shutil.make_archive('$zipfile','zip',root_dir='.')"
- dir
#- curl -X POST "https://${BITBUCKET_USERNAME}:${BITBUCKET_APP_PASSWORD}@api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"frontend/build/${zipfile}.zip"
artifacts:
- ${zipfile}.zip
- step:
script:
- pipe: atlassian/bitbucket-upload-file:0.3.3
variables:
BITBUCKET_USERNAME: $BITBUCKET_USERNAME
BITBUCKET_APP_PASSWORD: $BITBUCKET_APP_PASSWORD
FILENAME: "frontend/build/AR-${$BITBUCKET_BUILD_NUMBER}.zip"

definitions:
caches:
nodeall: ./node_modules
yarn: /usr/local/share/.cache/yarn

 

 

 

 

 

 

1 answer

0 votes
Patrik S
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 25, 2022

Hello @Scott Remiger ,

Thank you for reaching out to Atlassian Community.

The error you are receiving is because currently it's not possible to use environment variables in the artifacts section of the YML file. We already have a feature request to implement the ability to reference environment variables in the artifacts definitions, which you can access using the following link : 

I would suggest you to add your vote there, since this helps both developers and product managers to understand the interest. Also, make sure you add yourself as a watcher in case you want to receive first-hand updates from that ticket. Please note that all features are implemented with this policy in mind.

While this feature is not implemented, you will need either to provide the hard-coded full name of the artifact or use glob patterns . For some examples on how to define the artifacts using glob patterns, you can refer to Use artifacts in steps.

Thank you, @Scott Remiger !

Kind regards,

Patrik S

Scott Remiger October 25, 2022

So I switched it to using a Glob Pattern and the artifact did not show up.

Any help would be appreciated.

image: node:lts

pipelines:
pull-requests:
'**':
- step:
name: Build APP on Pull Requests
caches:
- nodeall
- yarn
script:
- cd frontend
- yarn
- CI=$process_env_ci_pull_request yarn run build
- cd build
- zipfile="AR5-$BITBUCKET_BUILD_NUMBER"
- uname="$BITBUCKET_USERNAME"
- pwd="$BITBUCKET_APP_PASSWORD"
- python -c "import shutil;shutil.make_archive('$zipfile','zip',root_dir='.')"
- dir
artifacts:
- frontend/build/AR5-*.zip
- step:
script:
- pipe: atlassian/bitbucket-upload-file:0.3.3
variables:
BITBUCKET_USERNAME: $BITBUCKET_USERNAME
BITBUCKET_APP_PASSWORD: $BITBUCKET_APP_PASSWORD
FILENAME: "frontend/build/AR-*.zip"

definitions:
caches:
nodeall: ./node_modules
yarn: /usr/local/share/.cache/yarn
Patrik S
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 27, 2022

Hello @Scott Remiger ,

Could you please confirm if the artifact is being generated in the first steps? To check this you can open the step in Bitbucket UI and search for a message similar to the one below in the Build Teardown section : 

Searching for files matching artifact pattern frontend/build/AR5-*.zip

Artifact pattern frontend/build/AR5-*.zip matched 1 files with a total size of 11 B

Compressed files matching artifact pattern frontend/build/AR5-*.zip to 131 B in 0 seconds

Uploading artifact of 131 B

Successfully uploaded artifact in 0 seconds

 This means the pipeline was able to identify files matching the pattern in the folder you provided and created an artifact that will be downloaded in the next steps.

Also, checking your second step, it seems to contain a typo in the FILENAME glob definition. It's currently set as :

FILENAME: "frontend/build/AR-*.zip"

But it should be :

FILENAME: "frontend/build/AR5-*.zip"

To match the name you gave to the file in the first step.

Could you double-check this and let us know how it goes? 

Thank you, @Scott Remiger .

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
TAGS
AUG Leaders

Atlassian Community Events