View Full Version : Website version control
jeffleeismyhero
02-09-2007, 01:40 AM
Hello all,
I am pretty new to version control setups but have used it with Domino based sites for quite some time now.
My goal is to have:
dev.domain.com -> development
test.domain.com -> testing
www.domain.com -> live site
I would like to have my developers work in dev until they get the major issues worked out of their code and then I would like them to be able to move specific items (pages/modules) to test for testing.
Once things have been tested and the test version of the site is working properly it should be (in whole) replace the live site.
There may be a better way to do this (suggestions welcome) but this is how the domino servers I use are setup so it is familiar.
Additionally, I would like a client for OS X and Windows that can handle PHP, HTML, and JavaScript code coloring and also eliminate the need for command line uploading. Right now we are using Dreamweaver (although it is bulky for our use) because it is cross platform and has upload on save.
It would also be nice to have a GUI for transferring the test site to the live site and if possible, the specific dev pages to the test site.
I setup SVN from the control panel and added a repository called "test" but I am unable (lack of knowledge) to connect to it. I have subdomains of dev (/var/www/dev) and test (/var/www/test) but I am unsure of where to go next.
Please help!
See http://guide.apisnetworks.com/index.php/Subversion.
jeffleeismyhero
02-13-2007, 06:56 PM
I've read that and setup SVN. The problem I am having now is importing my site into the repository. I am still unsure if SVN is the best way for me to do what I want. Do you have any ideas on how I can accomplish my goal? Will SVN work?
Time to bookmark the Subversion book (http://svnbook.red-bean.com/). If you need to manage multiple versions of a piece of software then yes version control is the way to go. Can I walk you through every step to ensure you have the repositories setup to your liking? Well I wish I could but I have several hundred customers irate over feature X missing from the new fourth gen that I have to get done otherwise I will end up dead mysteriously.
MarmaladeMan
02-13-2007, 08:52 PM
Komodo (http://www.activestate.com/products/komodo_ide/) is a cross-platform editor that also has built-in version control features. I've never used it myself but it sounds like it could be what you're looking for.
You could develop your site through SVN (and if you have multiple developers working on a large project this is probably a good idea), but I have no idea if it's possible to access the contents of a repository through the web like a traditional site. I don't think it's possible to do with the way it's configured here at APIS, but Matt would know the real answer to that, and he's quite busy with the data center migration and the 16-hour work days.
Here's how I would do it:
1. Set up one SVN repository for the entirety of the site you're working on
2. Developers work locally on their machines, commit changes to SVN
3. When a developer wants to copy files to dev or test for testing, he uploads/puts the specific pages he wants (through Komodo/DW/FTP) onto the site.
As far as moving files remotely from test to "live", it's not difficult to do via command line through SSH. Something like cp /var/www/test/* /var/www/html would do it (for more info about the copy syntax, read this (http://www.ss64.com/bash/cp.html)). I suppose you could also copy the files through the File Manager in esprit (you'd have to check to be sure).
dkozinn
02-13-2007, 09:29 PM
I was getting ready to play around with svn, and I was setting up the public/private key stuff, but it seems like I can't get my server (assmule) to authenticate me with a key only. I seem to be prompted to always enter my password. I even just tried setting up a separate version to try going from the server to itself, with the same results.
Has anyone gotten this working (particularly on assmule) since the move? This isn't terribly critical and it may well be something I've done wrong, so I wasn't going to bother filing a ticket. If it's working for others, I'll assume it's me and go back and try again.
Feb 13 20:24:02 assmule sshd[7088]: Authentication refused: bad ownership or modes for directory /home/dkozinn/.ssh
.ssh/ needs a permission set of 0700 and all files underneath 0600.
dkozinn
02-13-2007, 09:51 PM
Feb 13 20:24:02 assmule sshd[7088]: Authentication refused: bad ownership or modes for directory /home/dkozinn/.ssh
.ssh/ needs a permission set of 0700 and all files underneath 0600. Geez, I thought I'd checked that. :o
All better. Thanks.
Here's how I would do it:
1. Set up one SVN repository for the entirety of the site you're working on
2. Developers work locally on their machines, commit changes to SVN
3. When a developer wants to copy files to dev or test for testing, he uploads/puts the specific pages he wants (through Komodo/DW/FTP) onto the site.
I actually use Komodo and have been for the past 6 years. It's a good all-around IDE for Perl, Python, PHP, and recently Ruby. Subversion integration in there is all right, but I would prefer the ability to tag notes to specific files and then committing the changes in one pass. ActiveState has a free trial for Komodo; if you're a student then you can get a discounted license. Excuse me rather, you used to be able to (http://www.activestate.com/education/students/).
Running two different copies of the site is best left to branches (http://svnbook.red-bean.com/en/1.1/ch04s02.html). Run the trunk on the main site and make a dev branch on the dev subdomain. Import the initial code into your subversion repository, copy the trunk to a new named directory, and add that to subversion's repository.
vBulletin® v3.7.2, Copyright ©2000-2009, Jelsoft Enterprises Ltd.