I was wondering if it's possible to execute a step even if previous step failed.
I know there is something called after-script this can't be used it it needs to execute a defined step.
The purpose is because i need to start an instance run some things on it then shut it down but when it fails on the run part it will not shutdown the instance.
definitions: steps: - step: &Start_ec2 name: Start ec2 build server image: amazon/aws-cli script: - aws ec2 start-instances --instance-ids id - aws ec2 wait instance-running --instance-ids id
- step: &Stop_ec2 name: Stop ec2 build server image: amazon/aws-cli script: - aws ec2 stop-instances --instance-ids id - aws ec2 wait instance-stopped --instance-ids id
- step: &build name: Build script: - pipe: atlassian/ssh-run:0.2.6 variables: SSH_USER: $SSH_USER SERVER: $SERVER COMMAND: 'echo "hello"'
pipelines: branches: master: - step: *Start_ec2 - step: *build - step: *Stop_ec2
@Joris Van Acoleyen you can put steps in parallel, if it suits your case. Look at the advanced configuration section here https://support.atlassian.com/bitbucket-cloud/docs/configure-bitbucket-pipelinesyml/
I have a similar issue where I am unable to use the parallel steps in my case. In simple scenario, I have something like this:
name: Run tests
name: Zip files and generate reports
From the above, parallel step #1 might pass (successful) while parallel step #2 might have failures (failed) and I still want to continue to the next step (Zip files and generate reports) and display the pipeline results as still "Failed".
I've used the following but it shows successful all the time:
- set +e
after-script (not possible as I want to generate a consolidated report instead of multiple ones if this is placed on the parallel tests)
That can be done but the problem still is that the separate step to consolidate wont be executed if either one of the parallel tests before that step fails.
What I need is for the whole build to continue until the last step even if one of the steps fail.
Using - set +e in my script will continue it up until the last step but it wont show failed on the previous step.
@Evan Rosalok, I got it.
The thing is that bitbucket pipelines execute bash script. So you can find a way to do this right now through bash ignoring way.
For example make test || true. Like this you can ignore the failure in bash, but still you will have test reports file I think.
Also, you may consider test report Bitbucket pipelines feature (however , there is no parallel test reports gathering feature).
If it is not enough , you may create a separate question in community , asking for something like some module to consolidate reports.
You also can submit Suggestion request marking the Component starting with "Pipelines - xxx"
From Pipelines - *** components you can choose what you like Pipelines - Test reports or Pipelines - Run failures, Pipelines - Pipes etc. There you explain your case and may make some proposition (like allow_failure, consolidated report etc.)
After submitting the ticket will be in gathering interest status and depending on how many people vote for that, the team will consider this in the future.
Perhaps, then we can think about the pipe, that union reports in one, e.g..
Thanks for helping us to improve the pipelines.
Hello Community! I hope you've been enjoying the 🍂Apptoberfestivities🍂 (I know I have!) The event is heating up next week with a series of virtual events that we're calling the 🍻🍂Partner App ...
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