0

i do the following steps automaticly on repository changes on the release branch with my continious integration server (Jenkins):

  • Depency Management (PHP Composer)
  • Compilation/Minification
  • Testing (PHPUnit)
  • Documentation generation and release
  • Pakaging (.tar file with revision name)
  • Deployment
    • Copy tar to release server
    • Run puppet script on production server

The puppet script copy the newest release file from release server and untar all files to put them in the right directories.

But how would you connect the PHP Application to different services like MySQL? I have to change the configuration files manualy currently.

Any suggestions?

1 Answers1

0

What I usually do is have a default configuration file, which contains reasonable defaults (like for mysql db name after application, user root, empty password), and local configuration file that is ignored by version control, which can override the defaults. But you don't update in place, but unpack instead, so this approach is not for you.

You can use other way we use: set apache enviroment variable (SetEnv) with path to where all configuration files reside, eventually for all applications on the server.

Marek
  • 7,337
  • 1
  • 22
  • 33