I'm trying to setup PHP unit testing for our PHP application using MariaDB as a "service".
Now, as soon as I declare that my step should use the service defined in "definitions" section the pipeline fails with the message "The step provided was invalid". Whenever I remove the service from the step it works.
According to https://bitbucket-pipelines.atlassian.io/validator my bitbucket-pipelines.yml is valid.
What am I doing wrong? What does the error mean? How can I debug that error?
I currently use the following bitbucket-pipelines.yml for testing:
clone: depth: 1 pipelines: default: - step: image: php:7.0-apache script: - ls services: - maria definitions: services: maria: image: mariadb environment: MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' MYSQL_ROOT_PASSWORD: '' MYSQL_DATABASE: 'dev'
The issue is that you have an empty string for the value of the MYSQL_ROOT_PASSWORD. Pipelines fails to parse this as it is a string with no content.
An alternate way of setting the MYSQL_ROOT_PASSWORD variable to an empty string is to set MYSQL_ROOT_PASSWORD="\0".
Ok, setting the MySQL password to "\0" did not work, instead I got the following error:
container_linux.go:247: starting container process caused "process_linux.go:320: reading syncT run type caused \"write parent: broken pipe\""
When I set a password (like 123456) it works.
Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda ...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot