Blackfire has built-in support for Platform.sh projects. The integration is made simpler as Blackfire agent and probe are installed and enabled by default on all Platform.sh accounts.
Add the blackfire
PHP extension to the .platform.app.yaml
project file:
1 2 3 | runtime:
extensions:
- blackfire
|
Set the Blackfire server credentials as environment variables (run this
command from the project root directory or pass the --project
flag):
To auto-fill server credentials in the command below, log in first
platform var:create --name=BLACKFIRE_SERVER_ID --level=environment --value=XXXX platform var:create --level=environment --name=BLACKFIRE_SERVER_TOKEN --value=XXXX
Follow these steps to enable Blackfire builds on all your platform’s environments each time a branch is deployed (after a push, merge, or redeploy event):
To auto-fill token credentials and environment UUID in the command below, log in first
platform integration:add --type=webhook --url='https://TOKEN_USER:TOKEN_PASSWORD@blackfire.io/api/v2/builds/env/ENV_UUID/platformsh'
The command asks several questions. Hit enter to accept the default for all of them. If you get a permission error, ask a project admin to upgrade your account or ask someone who is an admin to run this command.
Now, whenever you push to a Platform.sh environment, Blackfire will automatically trigger a build for this specific environment. Blackfire scenarios will be ran for all your pull requests.
If you are using Github and if you have setup the synchronization between GitHub and Platform.sh, don’t forget to configure the Blackfire GitHub notification channel. That way, Blackfire will post a status on your GitHub pull requests.
Here is a full video tutorial to get you started with the integration of the three services: