douzhengzuo7283 2011-05-05 05:49
浏览 163

SAAS工作流的版本控制

I am sorry if this has been covered, but I can honestly say I have spent at least 3 solid days trying to come up with a version control solution and my head is about to explode.

I have also skimmed through the subversion book but I am still very confused.

Basically I have a SAAS application that has been growing steadily. Currently its really only 1 developer (me) working on the app, but if the interest in it continues I might have to start hiring.

The application is written in PHP, uses a MySQL database and is hosted on a bog standard LAMP stack.

Currently I have GIT installed on my development machine however my lack of understanding has meant that my commits are irregular and often irrelevant and I am having problems with it not tracking changes to directories.

My main concern is deploying to our production server. Our clients each have their own application folders and their own databases.

Currently when we run an update we have to write a custom update script that:

1.Duplicates clients installation into a backup folder
2.Removes the live installation folder
3.Copies the new updated installation folder
4.Copies the users config files from the backup to the live install
5.Tells the operator to make the changes to the users database using a third party app
6.Cleans up.

It was boring with 5 users, but now we are approaching 50 and its an absolute nightmare.

To make things complicated (and a little more secure) each install folder contains unique database settings which means database schema's can only be updated from within that application.

I have been looking into setting up a gitorious server but thought I would seek some advice on how to proceed before i dig myself any deeper.

Thanks

  • 写回答

3条回答 默认 最新

  • dst2017 2011-05-05 06:03
    关注

    Maybe you could keep your application files in a separate directory outside the users' home directories and create a symbolic link in each user directory that will point to your application? Example:

    ln -s /var/myapp/publicfiles /home/someuser/lib
    

    That way you would only need to update the code once and then update the schema for each user. The publicfiles directory could be updated from a git repository so no manual file copying would be needed.

    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试