Re: IDE -> SVN -> dev server -> live server
| From: | vikash dot iitb at gmail dot com | Date: | Thu, 14 Jan 2010 16:17:21 +0000 |
| Subject: | Re: IDE -> SVN -> dev server -> live server | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-301106@lists.php.net to get a copy of this message | ||
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@gmail.com> 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
>