#1  
Old 26th January 2009, 06:10 PM
Ivo Bauer
 
Posts: n/a
Default Virtual machines, components and automated builds

Hi,

I'm starting to play with VMware Workstation and intend to create a
full development environment in virtual machines. I have read many
posts concerning development in VM almost anywhere and also in this
newsgroup (mostly posted by Hannes).

I'm trying to follow the commonly recommended scheme of having one
Delphi version per VM, with all necessary tools installed including
Final Builder. There is no problem when you build your own application
against specific version of Delphi, but problems arise when you have a
component library that needs to be compiled with multiple versions of
Delphi (for example when you creating a trial version of a component
library for a supported range of Delphi/BCB compilers). How should I
automate this process? Should I create a special "build" machine that
has all necessary Delphi/BCB versions installed and put Final Builder
there?

I'm completely clueless and would use some help. Thanks in advance.

--
Ivo Bauer
  #2  
Old 26th January 2009, 07:32 PM
Hannes Danzl[NDD]
 
Posts: n/a
Default Re: Virtual machines, components and automated builds

> automate this process? Should I create a special "build" machine that
> has all necessary Delphi/BCB versions installed and put Final Builder
> there?


That's what I do. I've a build VM with the disk set to non-persistent. This VM
has all things necessary to build all component sets etc for all machines. All
scripts do a full checkout of the sources for building to empty directories.
The FB script on completion copies the created files to directly to the test
machine(s). The scripts are stored on the non-persistent disk and NEVER
automatically updated. Keeping the disk non-persistent and the source folders
on this disk intially empty is imo essential as it guarantees a fully clean
environment where every build will be created exactly the same.

I'm not sure if the setup is the best possible, but I can't think of anything
better for our purposes. If someone has ideas I would really like to hear them
though
  #3  
Old 27th January 2009, 08:32 AM
Ivo Bauer
 
Posts: n/a
Default Re: Virtual machines, components and automated builds

Thanks for your reply, Hannes. Please see my comments below.

Hannes Danzl[NDD] wrote:
> That's what I do. I've a build VM with the disk set to non-persistent. This VM
> has all things necessary to build all component sets etc for all machines.


I'm curious to know how you "manage" such a build VM. When an update
or a new major version of Delphi/BCB/Whatever gets released, do you
just install it into that VM or do you recreate this VM from scratch
or some earlier snapshot?

> All scripts do a full checkout of the sources for building to empty directories.
> The FB script on completion copies the created files to directly to the test
> machine(s). The scripts are stored on the non-persistent disk and NEVER
> automatically updated. Keeping the disk non-persistent and the source folders
> on this disk intially empty is imo essential as it guarantees a fully clean
> environment where every build will be created exactly the same.


Thanks for coming up with this idea of pollution-free build
environment! Would you be willing to explain how the build output
files are copied by the FB script to another VMs for testing purpose?
Is it possible to copy them to the host machine as well for e.g.
backup purposes and other processing such as uploading to a web
server? (sorry if this question sounds stupid to you)

--
Ivo Bauer
  #4  
Old 27th January 2009, 08:43 AM
Hannes Danzl[NDD]
 
Posts: n/a
Default Re: Virtual machines, components and automated builds

Ivo Bauer wrote:

> Thanks for your reply, Hannes. Please see my comments below.
>
> Hannes Danzl[NDD] wrote:
> > That's what I do. I've a build VM with the disk set to non-persistent.
> > This VM has all things necessary to build all component sets etc for all
> > machines.

>
> I'm curious to know how you "manage" such a build VM. When an update
> or a new major version of Delphi/BCB/Whatever gets released, do you
> just install it into that VM or do you recreate this VM from scratch
> or some earlier snapshot?


I clone the VM, mark it as persistent and install the update/new version. I
keep the old one around for some while to come just in case (never needed to
go back so far...).

> Thanks for coming up with this idea of pollution-free build
> environment! Would you be willing to explain how the build output
> files are copied by the FB script to another VMs for testing purpose?
> Is it possible to copy them to the host machine as well for e.g.
> backup purposes and other processing such as uploading to a web
> server? (sorry if this question sounds stupid to you)


I was a bit inaccurate. I just use file copy (or fileset copy for multiple
files) to shared network drive with all created builds. This drive is accessed
from the (again non-persistent) test machines to install and test the builds.
As you can see the non-persistent option plays a very big role in the whole
scheme.
  #5  
Old 28th January 2009, 07:13 AM
Hannes Danzl[NDD]
 
Posts: n/a
Default Re: Virtual machines, components and automated builds

Ivo Bauer wrote:

> Hannes Danzl[NDD] wrote:
> > I clone the VM, mark it as persistent and install the update/new version. I
> > keep the old one around for some while to come just in case (never needed
> > to go back so far...).

>
> ...and when you're done with the installation, you mark it as
> non-persistent again, right?


Yep.

> > I was a bit inaccurate. I just use file copy (or fileset copy for multiple
> > files) to shared network drive with all created builds. This drive is
> > accessed from the (again non-persistent) test machines to install and test
> > the builds. As you can see the non-persistent option plays a very big
> > role in the whole scheme.

>
> Thanks for these suggestions, much appreciated!


You're welcome.
  #6  
Old 28th January 2009, 07:16 AM
Ivo Bauer
 
Posts: n/a
Default Re: Virtual machines, components and automated builds

Hannes Danzl[NDD] wrote:
> I clone the VM, mark it as persistent and install the update/new version. I
> keep the old one around for some while to come just in case (never needed to
> go back so far...).


....and when you're done with the installation, you mark it as
non-persistent again, right?

> I was a bit inaccurate. I just use file copy (or fileset copy for multiple
> files) to shared network drive with all created builds. This drive is accessed
> from the (again non-persistent) test machines to install and test the builds.
> As you can see the non-persistent option plays a very big role in the whole
> scheme.


Thanks for these suggestions, much appreciated!

--
Ivo Bauer


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
ANN: RealThinClient SDK subscriptions > Now also *without* automated annual billing Danijel Tkalcec nexusdb.public.support.thirdparty 0 1st March 2010 07:45 AM
TCP/IP 2 (new protocol) in new nxServer builds Jan-Erik Johansen nexusdb.public.discussions 4 9th March 2008 12:43 AM
experiences with virtual pc for MAC Alessandro Romano nexusdb.public.support.thirdparty 4 9th April 2004 12:15 PM
OT - Strange problem with WIN98 machines Don Miller nexusdb.public.discussions 2 18th December 2003 01:25 AM
OT - Virtual Treeview David Charron nexusdb.public.discussions 1 22nd November 2003 01:50 AM


All times are GMT +11. The time now is 11:36 AM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.