Seeking workflow for maintaining a RoundCube installation

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Seeking workflow for maintaining a RoundCube installation

Stevie Trujillo
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:
1) Easily upgrading roundcube core / 3rd party plugins
2) Testing/Production environment

My initial idea was to make the following script:
1) unpack roundcube-{version}.tar
2) install plugins
3) copy extra files/apply patches
4) delete installation dir++

I tried to do this, but I soon discovered that this was not the
intended way:
1) 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
[hidden email]
http://lists.roundcube.net/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Seeking workflow for maintaining a RoundCube installation

Daniel Rauer-2
Hi.

Just some short thoughts: Lets call your current installation directory
"roundcube-patched". I would do the following:

- backup the database
- Extract the new 1.2.5 archive next to it: "roundcubemail-1.2.5"
- php roundcubemail-1.2.5/bin/installto.sh roundcubemail-prod

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:
> 1) Easily upgrading roundcube core / 3rd party plugins
> 2) Testing/Production environment
>
> My initial idea was to make the following script:
> 1) unpack roundcube-{version}.tar
> 2) install plugins
> 3) copy extra files/apply patches
> 4) delete installation dir++
>
> I tried to do this, but I soon discovered that this was not the
> intended way:
> 1) 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
> [hidden email]
> http://lists.roundcube.net/mailman/listinfo/users
>


--
bytemine GmbH - Im Technologiepark 4 - 26129 Oldenburg
Support: 0441-30 91 97-42 - Vertrieb: 0441-30 91 97-69
Geschäftsführung Felix Kronlage, Dr. Christoph Niemann
Amtsgericht in Oldenburg --- Handelsregister B 203 940
https://www.bytemine.net --- Steuernummer: DE267286778
_______________________________________________
Roundcube Users mailing list
[hidden email]
http://lists.roundcube.net/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Seeking workflow for maintaining a RoundCube installation

Stevie Trujillo
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
_______________________________________________
Roundcube Users mailing list
[hidden email]
http://lists.roundcube.net/mailman/listinfo/users