Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

application.tgz is not uploaded to heroku (using atlassian/heroku-deploy:1.2.1)

artifact is created and listed on previous step, I can download it to my local machine.
On next step "pipe atlassian/heroku-deploy:1.2.1"
I get the follwoing error:
  

Traceback (most recent call last):
File "/usr/bin/main.py", line 154, in <module>
File "/usr/bin/main.py", line 74, in run
with open(zip_file, 'rb') as zipfile:
FileNotFoundError: [Errno 2] No such file or directory: 'application.tgz'

Also 'application.tgz' is not listed under 'Artifacts' tab  in my 'Deploy to production' step.
Link to my repository https://bitbucket.org/vihv/stiltsofttestyo (private, but I expect techsupport have access)


Here is my bitbucket-piplines.yml
============================

image: maven:3.6.3

pipelines:
default:
- parallel:
- step:
name: Build and Test
caches:
- maven
script:
- mvn -B verify --file pom.xml
after-script:
- pipe: atlassian/checkstyle-report:0.2.0
- step:
name: Security Scan
script:
- pipe: atlassian/git-secrets-scan:0.4.3
- step:
name: Create artifact
script:
- tar czfv application.tgz pom.xml src/
artifacts:
- application.tgz
- step:
name: Deploy to production
deployment: production
script:
- pipe: atlassian/heroku-deploy:1.2.1
variables:
HEROKU_API_KEY: $HEROKU_API_KEY
HEROKU_APP_NAME: $HEROKU_APP_NAME
ZIP_FILE: 'application.tgz'
DEBUG: 'true'

 

1 answer

0 votes

Hi Yuriy and welcome to the community!

I believe the culprit here may be that the step that generates the artifact and the step that does the deployment belong in the same parallel set. Parallel steps can only use artifacts produced by previous steps, not by steps in the same parallel set.

What you can do is move the last step out of the parallel set, by changing the indentation two spaces back for that step, as follows:

image: maven:3.6.3

pipelines:
default:
- parallel:
- step:
name: Build and Test
caches:
- maven
script:
- mvn -B verify --file pom.xml
after-script:
- pipe: atlassian/checkstyle-report:0.2.0
- step:
name: Security Scan
script:
- pipe: atlassian/git-secrets-scan:0.4.3
- step:
name: Create artifact
script:
- tar czfv application.tgz pom.xml src/
artifacts:
- application.tgz
- step:
name: Deploy to production
deployment: production
script:
- pipe: atlassian/heroku-deploy:1.2.1
variables:
HEROKU_API_KEY: $HEROKU_API_KEY
HEROKU_APP_NAME: $HEROKU_APP_NAME
ZIP_FILE: 'application.tgz'
DEBUG: 'true'

This way, only the first 3 steps are in the same parallel set, and the artifact will be available for the last step.

Please feel free to let me know if this helps and if you have any questions.

Kind regards,
Theodora

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira

Admins, notify your Jira instance of system-wide changes with the new admin announcement banner

Hi All! We’re excited to share the launch of an announcement banner that lets Jira site administrators communicate directly to their users across their  Jira Cloud instance.  ...

738 views 17 20
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you