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

Shell interactive mode for the Pipelines

Miroslav Hesoun September 21, 2018

Hello, we would like to implement your Bitbucket's Pipelines as much as possible, to deploy are apps automatically, yet we often struggle as Pipelines have no interactive mode, that I know of. Making the debug process slow, time consuming and eventually cost us money. As for that reason I do test the builds in Docker first, making sure I have the same environment as in the Pipelines with the advantage of being able to debug the process within fully interactive shell, if any command would fail.

Yet, at this point I have encounter situation, where the Pipeline with exactly same starting image doesn't work as expected, whilst my Docker counterpart works just fine. Initially I thought, there might be a network issue, but several tests rulled that out, including the test with all firewall rules completelly lifted up in the target machine our Pipeline build is connecting to.

To be specific, php script which is supposed to connect to remote database hangs and the icon keep spinning until Pipeline's timeout is reached. Yet that doesn't happen with my Docker container.

The big problem is now, how are we supposed to debug, find and fix or workaround the problem, when there's is no interactive shell mode in the Pipeline. Or is it? Our php script uses 3rd party scripts, which would take impossible lot of time to debug only way we can debug, that is put a break in the code, upload the script, run the whole Pipeline and see if the break point has been reached. And repeating that numerous times to find the exact spot that does not agree with the Pipeline enviroment, though it works in Docker container I am testing it locally.

Is there a better way? Since this way is pretty much the one we can't afford to spend our time with.

1 answer

0 votes
Philip Hodder
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 2, 2018

Hi Miroslav,

Bitbucket Pipelines currently does not provide a shell interactive mode. I suggest you open a feature request here: https://bitbucket.org/site/master/issues/new

As a workaround, you could try set up a reverse shell with Ngrok. And debug through that instead.

Once factor you could also investigate locally, is that Bitbucket Pipelines runs in a non-interactive shell. Which does lead to some CLI tools behaving differently that in an interactive mode. I've seen this in a few scenarios where SSH is being used. Maybe it's also affecting you here?

Thanks,

Phil

Miroslav Hesoun October 2, 2018

Hello Philip, that CLI part might actually sound promising. At least that's something to go on with.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events