Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to automatically set up a development environment?

I have been tasked to set up a Java based development environment across multiple Windows machines. The problem is that I want to the process to be done automatically and easily on each machine so the developers don't have to waste time downloading and installing all the different applications. Ideally, I would like to have the following:

  • Automated and unattended initial installs
  • Some sort of a monitor on those installations that would make sure the settings remain constant between all machines
  • A possibility to push new settings/programs/upgrades when required.

I've looked into several tools for the job. Currently the most promising one seems to be Puppet . However, Puppet doesn't work as well in Windows... Using a VM image would solve the first requirement, but it is out of the question since the hardware is different across the machines and upgrades won't come easy.

Has anyone had any experience with this sort of task? How would you solve it?

like image 405
Nadav Avatar asked Nov 11 '10 17:11

Nadav


People also ask

What is a developmental environment?

A development environment in software and web development is a workspace for developers to make changes without breaking anything in a live environment. The development environment is often seen as a developer's “everything-goes” workspace.

What is software development environment setup?

A software development environment (SDE) is an environment that automates or augments the routines involved in a software development cycle. This includes programming-in-the-many tasks like team and project management as well as programming-in-the-large tasks like configuration management.

What are the types of development environment?

The development environment normally has three server tiers, called development, staging and production. All three tiers together are usually referred to as the DSP.


2 Answers

I've been playing with Vagrant for a couple weeks and finding it a fantastic tool for this. It uses Puppet, Chef, or a customer "provisioner" on top of a VirtualBox, and is controlled by a simple command. They have a great tutorial/tour that will show you what it's capable of.

As an example, the direction I've been heading this week is writing Puppet scripts/modules to setup my production server, and all the dynamic parts are handled by parameterized classes. So my development environment will have the same OS, the same firewall settings, the same daemons, etc--all without affecting my host OS or doing any manual configuration steps.

That being said, I've not used it on a day-to-day basis so I don't know if there are any blocking issues, but I have used manually managed VirtualBox for the same purpose without trouble, so I don't foresee any problems.

like image 190
Harlan Iverson Avatar answered Oct 08 '22 10:10

Harlan Iverson


I believe this is waste of time. I am not sure what is the business value here. Most of the developers are frustrated with these kind of processes (including me).

Anyways, Yoxos provides this kind of development environment provisioning based on eclipse platform. You can create a template for your company which can then be shared across the teams.

like image 33
Aravind Yarram Avatar answered Oct 08 '22 11:10

Aravind Yarram