Jump to content

A request for a modern update system


ensoph
 Share

Recommended Posts

FTP uploading is a relic from the past: it's an error-prone, time consuming and insecure (no hash checking) method that shouldn't even be considered in serious deployments. I'm not saying that it shouldn't be offered, since (I guess) many of your customers are still on shared hosting, but you should at least offer some alternatives for those of us who have access to a dedicated server / VPS.

A git-based deployment system would probably be the best option here, since minor updates would just be a matter of running `git pull` (and visiting the update script, or — even better — running it from the CLI). The files' integrity would be guaranteed, the entire operation would run in seconds instead of minutes, and mistakes could be reverted easily. It would also make it *very* easy to spot malicious or unwanted code in the forum's filesystem, and it would make tools like the whitespace/file permission checker unnecessary.

The next best thing would be offering .patch files for minor updates. They weight a fraction of the full package's size and they too are applied in a matter of seconds.

I hope that 4.0 brings some needed innovation in this area.

Thanks for listening.

Link to comment
Share on other sites

You can set this up yourself easily even today.

That's what I already do, but it's far from a perfect workflow, especially because file permissions "break" every time. An officially supported system, coupled with some maintenance CLI tools, would go a long way towards making my forum's maintenance easier.

Link to comment
Share on other sites

That's what I already do, but it's far from a perfect workflow, especially because file permissions "break" every time. An officially supported system, coupled with some maintenance CLI tools, would go a long way towards making my forum's maintenance easier.

What CLI tools do you have in mind ?

Link to comment
Share on other sites

That's what I already do, but it's far from a perfect workflow, especially because file permissions "break" every time. An officially supported system, coupled with some maintenance CLI tools, would go a long way towards making my forum's maintenance easier.

You can simply write a ph script that will check and correct permissions each time you use git ;)

Link to comment
Share on other sites

What benefit is there for an "official" solution vs your own solution (other than you don't have to do the work then :P ). If this is something you could use and could use now, I think it's probably best to just bite the bullet and write what you need.

FWIW we do want to improve the upgrade process, mostly because we want to make it easier to use for newbies. I don't think a git-based solution, however, would accomplish that end goal.

Link to comment
Share on other sites

What benefit is there for an "official" solution vs your own solution (other than you don't have to do the work then :tongue: ). If this is something you could use and could use now, I think it's probably best to just bite the bullet and write what you need.

That's true, I could keep doing it myself; however, this also applies to any feature request I might think of. The rationale for implementing this one is the same as ever: because it would hugely benefit a part of your customers.

I'm just saying that uploading everything through FTP every time shouldn't be the only officially supported way, because it's insecure and error-prone. A git-based solution, like the one I proposed, would be great for my workflow, but frankly any other upgrade system I can think of would be better than what we have now.

Link to comment
Share on other sites

That's true, I could keep doing it myself; however, this also applies to any feature request I might think of. The rationale for implementing this one is the same as ever: because it would hugely benefit a part of your customers.

I'm just saying that uploading everything through FTP every time shouldn't be the only officially supported way, because it's insecure and error-prone. A git-based solution, like the one I proposed, would be great for my workflow, but frankly any other upgrade system I can think of would be better than what we have now.

FWIW we already have an auto-installer available in our client area to reduce the "error prone" part, and you can naturally upload your files already using git, SFTP or SCP. You can even upload your files as a zip in cpanel and then use SSH to unzip the package and move the files around. There are of course options already if you don't wish to use FTP.

Link to comment
Share on other sites

  • 9 months later...

A better update system could help larger, more complex sites that have development and/or test instances where they develop features in an isolated environment separate from their production system (so they can be developed and tested without breaking the production environment).

For example, we put our code and files into git (using a variation of the method described at http://community.invisionpower.com/topic/365865-make-ipb-more-developer-version-control-and-testenvironment-friendly/ ), then deploy that code to the test environment for testing.   If it passes testing, we will deploy it to production - if it does not pass testing, we fix the problems and re-test.

It would be great if we could integrate the IPS updates into that same process via a vendor branch that we merge and test.   Of course, DB updates from new versions are another matter and have to be handled separately outside of git.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...