Tima
Tima

Reputation: 12905

Simplify development environment setup

Everytime new people start working on our project, they need to setup development environment on their computer Windows OS running on it. This contains:

It takes time (because of download and install) and some people getting problems (for example because of missungerstanding setup guide)

Is it possible to simplify or maybe automate such development environment setups? My idea is to create kind of bundle and deliver it to developers. If some software need still to be installed it's also ok.

I found this question here How to automate development environment setup? but:

  1. I would like to find solution without using virtual machine if it somehow possible
  2. this question is from 2009. Maybe the things changed in last 7 years.

Thank you in advance

UPDATE

Just found two tools which looking good to me. I will try them boxstarter and chocolatey.

Upvotes: 0

Views: 2137

Answers (9)

Sven Efftinge
Sven Efftinge

Reputation: 3095

Gitpod.io provides automated dev environments as a service. It is not only providing full-featured terminals based on Docker but also prebuilds your git branches, so you are ready to code immediately.

The IDE is based on the Eclipse Theia IDE, though.

Upvotes: -1

fd8s0
fd8s0

Reputation: 1927

I'd have a disk image, clone that and change user permissions after or leave the administrator user for yourself and create a new user for the target user.

Upvotes: 0

maestro
maestro

Reputation: 671

I think that software development environment setup not ends when you have all necessary softwares installed. OK, you've installed everything, good. But then you have to make lot of configurations for example if you'd like to use a local database from your IDE you have to configure it. And I guess that's the hard part - it depends on what kind of API is presented by the installed softwares to configure them (I think it's very poor).

Another thing is that the whole process should be integrated in your company's access policy, for example which repositories can be accessed for a specific developer.

So I'd say that a tool which can solve all these issues would be the solution but we are far from that because of API limitations and many other reasons.

Upvotes: 1

lokusking
lokusking

Reputation: 7456

In my opinion this is more like an Administrative topic.

If you walk on this path to deliver packets top your coworkers/developers, you might want to provide packets to your whole company.

There is a bunch of Software helping you to achieve this goal. This Softwaretype is called Systems Management Software (SMS)

In our company we use SCCM

Our company is big enough to have about 20 departments.

Each department has its own special softwarebundles and all departments have some standardsoftware (MS-Office for example)

It would be an enormous effort to manage all this Programs manually.

Maybe this is also an Soloution for your company

Upvotes: 1

AlkindiX
AlkindiX

Reputation: 40

If you have a good experience with Windows command line cmd you can do it by creating install.bat which is containing script to run setup on each installation file. For example, make a directory and download all your required materials like java , Eclipse IDE and other tools, then include your setup.bat on it. Zip it and send it to anyone you like.

Upvotes: 0

Indra Uprade
Indra Uprade

Reputation: 808

Industry standard are going with these softwares Chefdk, Vagrant, Virtualbox.

Upvotes: 0

DAB
DAB

Reputation: 1873

I find that the tools you mention don't need really need to be "installed", by running a program. All of them lend to being copied to a directory and then run directly. I would simply copy them from one machine to another, making sure that the folders are standardised, and use scripts to start the various components. In particular with Java, Tomcat and Eclipse (and Git), I am able to deploy to another machine in minutes.

Upvotes: 0

Tima
Tima

Reputation: 12905

I tried chocolatey (I mentioned in the update to my question). It actually does what I was looking for.

All I need is to create a script with the whole software I need to install and run it.

There are also many other nice things. Just try.

The only todo point for me is to find out what is the difference between chocolatey and boxstarter. If I understood it right, you can start boxstarter scripts from the remote server. But I don't need this.

Upvotes: 2

MeFisto94
MeFisto94

Reputation: 157

This Question mainly depends on what you want to achieve.
There are things like the download time which you simply can't avoid. You could of course pre-download them and then distribute them through your Network or USB-Drive w/e but that means you should care about updating these files regularly.

The most easy thing would definitely be some kind of Virtualization: You set everything up once and then your developers just launch that VM.

If not, you need some sort of packet management. On Debian you'd have a single apt-get command to set everything up, but that's out of your constraints.

What you should definitely look for is portable versions (which essentially means: Software which doesn't depend on the Registry), because those run out of the box. You just need to place them on the target system.

Other than that, many installers support some command line interface. Netbeans has that for example. Try to launch the installer like installer.exe /? from the Command Line and see what happens.
You want to look for options like quiet, yes (to all)

When you have them, you create a Batch File which executes them one after another. The Portable Versions are only Copy commands then.

Upvotes: 0

Related Questions