TwelvestoneProjects and Theory

Subversion Questions


Sign in

  • Waiting for Godot ( 730 k posts )
    Just conversation.
  • Thunder Dome ( 23 k posts )
    Photoshop Tennis and Collabs.
  • Photography ( 5.1 k posts )
    For all you shutterbugs, sh...
  • Flash ( 18 k posts )
    ActionScripting to tweens, ...
  • Front End ( 5.9 k posts )
    general front end design an...
  • Back End ( 9.7 k posts )
    serverside scripting, progr...
  • Projects and Theory ( 12 k posts )
    This forum is for discussio...
  • FAQ ( 269 posts )
    All those nagging questions...
  • Design ( 17 k posts )
    graphics & all aspects of g...
  • Purgatory ( 3.6 k posts )
    12stone Jail, feel free to ...
DontBogartMe
 
2011-02-18

How do you guys deal with this...

I'm developing a website, I have the repository set up on the client's dev server, and also on that server is a copy of the site so we can view it. To dev I have the same site set up on my localhost. I do a little dev, get it to a decent point then I commit. Then I remote desktop to the server, find the website folder and do an Update to get the changes in place.

The problems with this set up are: 1. It ignores the database (MySQL) completely. 2. If I add another developer, they have to set up a local webserver to work, which they're not keen on doing, and then are we going to be fighting for the remote DT to do our updates to the dev site?

So what do you do?

Is there a neater way to update the dev website without having to Remote DT to the dev server?

DontBogartMe
 
2011-02-18

do you maybe have a core person in charge of updating the website with new code from the repository, so the devs would communicate with that person to let them know the work is done and ready to be pushed to the site?

DontBogartMe
 
2011-02-18

Stickman's approach and thoughts would be much appreciated in here is all I'm saying!

bats eyelashes

Stickman
 
2011-02-18

Sorry, I don't come in here very often. A PM would've tipped me off.

TBH I don't have any magical solution here. Mostly I work on my own and manage commits and updates myself, manually. I do have an account with an SVN host that allows 'push' updates via FTP -- so you commit, and then press a button and it FTPs to the target server and does the update. However I've never been brave enough to use it on a live site...k

One company that I work with, it goes like this:

  • Dev is done on a local server and commits are made
  • A script is run that does an SVN export to a location on an internal server and then uses RSync to copy the files up to the 'live' server

...er, that's about it. Nothing too magical but it saves me having to do more than run a script.

As for keeping tabs on database changes, well that's a perennial problem. Usually I just keep a log of changes and then run them manually when I do an update. I know some people keep a db dump file in SVN so that they have a history of changes, but it's not much use unless you have a comparison tool (e.g. Toad) that'll generate the required SQL to make the changes.

Bear in mind my work is generally on small sites that can stand a little downtime so there's no need to get involved in complex strategies for dealing with this sort of thing. Likely there are people around who work in larger organisations that would have better insights into best-practice approaches.

One thing I'd say is that if this other developer isn't keen to set up a local dev server then they should get a slap. Working directly on the live codebase is a big no-no. And running your own web server isn't rocket science -- hell, mine runs off a USB stick.

the real me
 
2011-02-18

Depending upon what language you use... You should look into like Capistrano, Fabric, or ant or something to help you deploy. Basically you write a script that runs through your deployment process. As for database changes look for some kind of migration tool, again depending upon your language.

Also, I don't know if you have a choice in the matter but everything sure seems a lot simpler for me now using git. :shrug:

Stickman
 
2011-02-18

I keep thinking that I should adopt some kind of build process, but never quite get around to it. Phing seems to be a PHP-oriented version of ant, but presumably you can use pretty much any tool if you have access to the requisite environment to run it. :shrug:

DontBogartMe
 
2011-02-20

Hey Stick, thanks - I didn't want to be too pushy with a PM but will bear that in mind in the future, thanks.

I figured your set up would be similar to what I'm trying to achieve. What's going on here is that right now I'm the only PHP dev on the job, but my client is going to do the HTML/CSS updates where he can. But to do that he'll need to see the site running on a server to see the HTML changes take effect. But normally he doesn't get involved with backend stuff, hence his reluctance to install WAMP or something.

But in the future there will be more back end devs working on the same projects, committing to their updates to the same server, and then needing to push their changes to the real dev server.

Perhaps there is no silver bullet for this one then. He'll have to install WAMP. And I guess we'll have to have someone responsible for pushing new code updates to the dev server, rather than let all the devs access it themselves.

As to the DB, I guess I'll document the structure of it when it's stable and launched, and track update changes to them as they happen in future phases.

JLM
 
2011-02-23

WAMP is not so hard to install and use, could you not setup a remote desktop then he could watch you setup things.
Found some opensource remote solutions.http://open-tube.com/7-free-tools-for-remote-desktop-control

DontBogartMe
 
2011-02-23

yeah he can do it .... AND HE'S GONNA! :swear:

Sorry, you must be a member to post to a conversation. Either log in or sign up to get involved.
TwelvestoneProjects and Theory

Subversion Questions