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.