Re: IDE -> SVN -> dev server -> live server

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I do not see the reason why you would need an absolute URL like var base_url
= '
http://mysite.com' in your javascript code.

If only this is giving you problems, use: *window.location.hostname* to get
the hostname in javascript.

---
Vikash Kumar
http://vika.sh


On Thu, Jan 14, 2010 at 9:40 PM, John Corry <jcorry.lists@xxxxxxxxx> wrote:

> I am working on designing an documenting a process for our team to use to
> manage code updates/changes.
>
> What we've been doing has been ghastly: a bunch of developers using
> dreamweaver's 'check in/out' functions, all using the same FTP login, to
> FTP
> files to the production server.
>
> It turns out the site we're working on together is a bit too complex for
> this, so it's on me to come up with a better way.
>
> I'm a big fan of SVN and think we'll be light years ahead of where we are
> presently by using SVN to manage code revisions.
>
> So, I've set up an SVN repository on our dedicated server and imported all
> of the live-site code. Then I set up a dev virtual host (dev.domain.com)
> and
> exported all of the code in my repository to that vhost's DocRoot.
> So...that
> gave me a copy. Next, I copied the MySQL db to a separate db that we'll use
> for the dev server...so dev code doesn't query the live db. Then of course,
> I had to edit the config files that have DSN information in them to make
> sure my dev site actually uses my dev db.
>
> Here's where the problems start to creep in...
>
> If I export the whole repository from SVN to the dev DocRoot directory, I'm
> going to overwrite the config files that have DSN info in them. Similarly,
> there are some javascript files that declare variables like var base_url =
> '
> http://mysite.com'...those variables need to be set once for the
> environment
> (my local IDE? the dev server? the production server?) and then not messed
> with afterward.
>
> After an SVN commit, it's really easy to svn export svn://localhost/mysite
> /path/to/my/dev_server
>
> Simple, all of the code in the repository goes to the dev server.
>
> The issue I'm having is that there are a number of files that I do NOT want
> to be copied from the repository to the dev server, except on
> rare occasions.
>
> So, I can choose to add the files to my svn:ignore in my working copy so
> they aren't committed/updated. But I can't ensure that all of the
> developers
> take this step and it's not a reliable way to keep those select files in
> the
> repository out of my dev server.
>
> Or, I can write a shell script that does the SVN export, then overwrites
> the
> selected config files with master versions that are stored somewhere else
> and not edited by any of the team. One problem with that though, is that
> our
> main javascript file tends to be edited/changed and it's one that can
> create
> problems if that base_url var isn't appropriate to the server it's on.
>
> Or, in all of my PHP files, I can write the config values into switch
> statements:
> switch($_SERVER['HTTP_HOST']) {
>  case 'mysite.local':
>     // local IDE config directives
>  case 'dev.mysite.com':
>     // dev server config directives
>  // etc...
> }
>
> ...but that leaves the production server DSN sitting around in development
> code, which I'd like to avoid, and I don't have an analogous solution for
> my
> javascript files.
>
> JS question: is there a js way to do the same thing? Evaluate the js
> equivalent of PHP's $_SERVER['HTTP_HOST']? If there is, I think this
> solution will work.
>
> This has got to be a fairly typical workflow and problem.
>
> What are some of the strategies you folks use for designing your flow of
> code from local IDE to SVN to dev server to production server?
>
> --
> John Corry
> PHP developer - 3by400, Inc
> http://www.3by400.com
>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux