Dear list
I have a RoundCube installation with a few 3rd party plugins and some homemade plugins and some patches to the roundcube core. The problem is I have no recollection of what has been done, so it's very difficult to upgrade to a new version of RoundCube. Also, all modifications are currently done on the live site, leading to lots of unnecessary downtime.
Starting over fresh, I would like a workflow that allows:
My initial idea was to make the following script:
I tried to do this, but I soon discovered that this was not the intended way:
there doesn't seem to be any way of supplying the answers as commandline options or similar 2) composer/roundcube seems to automatically connect to the database and make modifications, this would end up making changes only in the test environment :/
How are you guys maintaining your RoundCube installations?
-- Stevie Trujillo
Hi.
Just some short thoughts: Lets call your current installation directory "roundcube-patched". I would do the following:
This will use the 1.2.5 core code, but take over your settings, database, plugins, etc.
Now you can test if your current plugins work well with this version.
to be honest: I would do it like that, but with the version of roundcube you are currently running. If there are no problems you can upgrade this installation to 1.2.5, but if you have any issues they will be more easy to find on the same version.
In order to get a staging system simply set up a second vhost, clone your "roundcube-patched" directory, clone your database, adapt some settings and you are good to go.
For you own patches to RC core I suggest using a github fork from RC, apply your changes there and easily keep track of the changes. If a new version is released pull it into your repo, create a diff from your changes and apply them to your RC installation. Or even dont use the RC downloads anymore but run from a checkout of your repo.
Bye, Daniel
On 05/01/2017 11:45 PM, Stevie Trujillo wrote:
Dear list
I have a RoundCube installation with a few 3rd party plugins and some homemade plugins and some patches to the roundcube core. The problem is I have no recollection of what has been done, so it's very difficult to upgrade to a new version of RoundCube. Also, all modifications are currently done on the live site, leading to lots of unnecessary downtime.
Starting over fresh, I would like a workflow that allows:
- Easily upgrading roundcube core / 3rd party plugins
- Testing/Production environment
My initial idea was to make the following script:
- unpack roundcube-{version}.tar
- install plugins
- copy extra files/apply patches
- delete installation dir++
I tried to do this, but I soon discovered that this was not the intended way:
- composer/roundcube will prompt the user for many questions, and
there doesn't seem to be any way of supplying the answers as commandline options or similar 2) composer/roundcube seems to automatically connect to the database and make modifications, this would end up making changes only in the test environment :/
How are you guys maintaining your RoundCube installations?
-- Stevie Trujillo _______________________________________________ Roundcube Users mailing list users@lists.roundcube.net http://lists.roundcube.net/mailman/listinfo/users
Thank you! I'm a bit slow so it took some time to try out.
Is it possible to save the whole thing in git or something similar? When installing plugins Composer seems to clone a dozen different repositories into subdirectories, and git the "parent git" ignores those directories.
Composer will modify the config, "initialize database schema" and "run post-install script" when installing plugins (and equivalents when updating/uninstalling plugins). Do I need to keep track of what scripts have ran in the different environments? Are they idempotent so I can just run all of them?
-- Stevie Trujillo