We are using Atlassian Bamboo to deploy our web applications to testing and production servers. This is a two-step process.
- build and test the release
- deploy the release to the environment
This run relatively stable, but we are running into some issues with Symfony 2 projects.
Step 1 simply checks out the most recent version from the app from Git, does some tests and other tasks, including composer:install
. This last one will execute some scripts (post-install): buildBootstrap
, clearCache
, installAssets
, installRequirementsFile
and removeSymfonyStandardFiles
.
This step is executed on the build server. Since the parameters.yml
file is not present in Git, composer install fails. If we do a composer install --no-scripts
, the build succeeds as these scripts are never called.
Step 2 is to ship the files to the production server, install the parameters.yml
(which is copied from a predefined location on the target server), do a app/console cache:clear
and app/console assets:install
. The release appears to be working just fine on the target server, but the buildBootstrap
, installRequirementsFile
and removeSymfonyStandardFiles
scripts or equivalent have not run. What are the consequences of that? Are there any app/console alternatives for them (running app/console
doesn't appear to show any)?
Alternatively, are we just doing it wrong? We want to let as much work be done by the build server, as the target servers are often limited in capabilities (eg. shared hosting).