Be sure to have a look at phing too http://phing.info/ It's a
fantastic tool for project deployment.

Cheers,

William.

On Wed, Jul 22, 2009 at 1:16 PM, Dan Khan<[email protected]> wrote:
>
> +1 Dalibor.
>
> We have a similar setup.
>
> Dev  - LAMP stack Vista - local branch development
> Testing - LAMP stack Debian - cutting edge SVN trunk, auto updated
> from repo regularly/each commit
> Staging - LAMP stack Debian - deployment test servers running against
> real anonymised production data/same hardware spec
> Production - externally hosted debian servers
>
> Dev is local developer PCs
> Testing and Staging are VMs on a single quad-core 12GB RAM internal
> server running VMware ESXi.  Stagin envinroment has duplicate hardware
> and software configuration/versions as production versions.
> Production is hosted externally by a variety of providers
>
> We also run a number of internal (virtual) linux servers to manage SVN
> server, internal DNS, UPS, dev/ops wiki, release management, CMS,
> backup, scratch servers, etc.
>
> We use SVN in house for all source code/ops scripts - moved inhouse
> from offshore hosting for a massive speed increase - from 2Kb/s to
> 3Mb/s - merge in 5 seconds :)  We have a local backup NAS server for
> internal and production servers - will migrate scripts to AWS S3 over
> time.
>
> Custom rolled PHP deployment scripts from our internal release server
> to staging and production (auto export
> SVN->Local->prep->SSH/Rsync->Semi-full automated live rollout)
>
> On my list to investigate phpUnderControl, SystemImager, Puppet, Chef,
> and a number of other automated deployment and system management
> tools.
>
> HTH
>
> Cheers,
> -Dan
>
> On Wed, Jul 22, 2009 at 10:40 AM, Dalibor
> Andzakovic<[email protected]> wrote:
>> Re Environments:
>>
>>
>>
>> We tend to run 4 environments, development, testing, staging and finally
>> production. It is a good idea to run the environments as separate as
>> possible.
>>
>>
>>
>> Development is generally the dev’s own machine. Anything goes here. Testing
>> and staging we tend to run on a separate VMs and production is preferably
>> run on its own hardware or at least in a separate resource pool on your
>> favourite virtualization platform. Reason for having separate testing and
>> staging is this: Testers will do dev testing in the test environment which
>> will have different software builds/versions of the underlying stack.
>> Staging environment is kept as a copy of the production (in terms of
>> software) in order to pickup any pesky deployment issues. In other words we
>> deploy twice to try and avoid last minute deployment hair pulling.
>>
>>
>>
>> Re Release Management:
>>
>>
>>
>> Code releases are all done from a central repository. CVS/Subversion work OK
>> for this, but I’m a fan of mercurial these days. It’s easy enough to
>> designate a Mercurial repo as a central point that all the devs push
>> changesets to. There are several options on the release front depending if
>> your target is a package, installer or simply a website update. For simple
>> site updates I tend to just pull from the code repository branch. I have
>> also built distribution packages but that only becomes worthwhile if you
>> need to update a number of hosts. Good starting point for the release
>> management can be found at
>> http//www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/index.html
>>
>>
>>
>> HTH
>>
>>
>>
>> dali
>>
>>
>>
>> From: [email protected] [mailto:[email protected]] On Behalf
>> Of Aaron Cooper
>> Sent: Wednesday, 22 July 2009 10:06 a.m.
>> To: [email protected]
>> Subject: [phpug] Environment setup, source control and Deployment procedures
>>
>>
>>
>> I know this topic depends alot on the organization, but I am looking into
>> Development/Staging/Production enviroments, how they interact with source
>> control (SVN) and Deployment procedures from Staging to Production in a bid
>> to build a case study for my employer.
>>
>>
>>
>> While I totally understand the environment side of things, just how source
>> control fits in to each environment, and deployment procedures are a bit
>> grey for me. I'm also a bit grey on how each environment should be setup in
>> terms of hardware. Obviously Production should be on it's own, but is having
>> Development and Staging on one box a terrible idea? What I am looking for is
>> examples of systems from Development to Production.
>>
>>
>>
>> I was wondering if you lot know of some good literature or online resources
>> on this topic (with examples). PHP specific examples aren't nessecary, but a
>> Web Development focus would be handy obviously.
>>
>>
>>
>> Cheers
>>
>> Aaron
>>
>>
>>
>>
>>
>>
>>
>> >
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
NZ PHP Users Group: http://groups.google.com/group/nzphpug
To post, send email to [email protected]
To unsubscribe, send email to
[email protected]
-~----------~----~----~----~------~----~------~--~---

Reply via email to