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.
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?
We are excited to announce the open beta program for self-hosted runners. Bitbucket Pipelines Runners is available to everyone. Please try it and let us know your feedback. If you have any issue...
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