Tulan wrote:I suggest we do something to move away from using SVN update to sync our working copies with the production box. It's terribly easy to have something go really bad while maintaining SVN revisions in the production, public facing web roots.
I want "production" isolated from development, and revertable, in case there are problems. The technique I am using with other clients is to export a tagged release to the production box, that has been fully tested. If there are problems, I can always back out to a prior revision with a single command. Just haven't got to the point of implementing that in CI yet.
Tulan wrote:I generally have a local Linux Apache MySQL PHP stack running on my development machine with the localhost running directly out of my working copy. This way I can make changes and see them instantly before committing. I generally have a shell script with a few rsync commands in it with instructions to explicitly ignore all of the .svn directories so that stuff isn't on the production box.
With NetBeans, I have a working copy (which has the .svn and nbproject files), and a "copy" directory, which is the html path to a virtual server on my localhost (ci.antiquatis.test, in my case). The html doesn't have any of the .svn or project tracking stuff, just the real files. NetBeans maintains the copy, automatically, so I can do my local testing before commiting changes.
Tulan wrote:rsync will sync the directories based on which files have been modified and exist on the client and host; terribly useful.
Well, that's what Subversion does, too, but you can revert any file back to its prior state, and it logs comments for changes. It also merges changes... if you modify one part of a file, and I modify another part, it will merge the changes, as long as there are no conflicts.
Tulan wrote:I know the server is a shared host, but, it would be tremendously useful if we could get rsync setup (which requires a shell, or a running instance of the rsync server, shell is generally much easier to setup).
I could see that for a test area, but anything the public is using needs production release controls. I'll see if I can install rsync.