Virtual Machine for Developers – Part 1
This blog is about a standardized development environment that could be shared easily among your developers. There are two parts:
- Virtual Machine for Developers – Part 1: Setting up a basic virtual machine with Linux Mint
- Virtual Machine for Developers – Part 2: Install developer tools
The main motivation to provide a common workspace for developers is saving time. I have seen some projects where the first days of each developer where invested just in setting up the environment. It’s much more professional if developers have a ready to use toolbox and can start working immediately and not with the all installation procedure. Another important point is to provide a similar system for all developers in the team or maybe in the whole company. This would make it easier e.g. to exchange developers among teams.
Ok, let’s try to fill this toolbox with the most required tools. To enable sharing the toolbox and maybe enable multiple toolboxes I recommend creating a virtual machine for that. Although containers like dockers could be an option, but not checked how smooth this will work so far.
Nowadays I’m using VMWARE Workstation, but in the past, I did good experience with VMWARE Player. Because there are not too many special rocket science requirements for the virtual machine any other established virtualization software should work fine, too.
Before I start to create the virtual machine, I need an operating system. Because of the license topics and the requirement to share it with internal and external collequees as easy as possible I decided to use a Linux system here. There are some options and immense discussion about the system of choice. I want to avoid the discussion at this in this blog and I decided to use Linux Mint because it’s my favorite. But it’s up to you to check which is the most suitable operating system for your toolbox.
Here is a brief overview what I would recommend to put in the toolbox for the beginning:
- Operating System: Linux (Mint); 8 GB Ram, 30 GB Harddisk
- VMWARE Tools
- Java SDK
- GIT (Source Code Management)
- Maven or Gradle (Software Project Management)
- SAP Cloud SDK, CLI
- Eclipse (Java Development)
- Eclipse Plugins:
- SAP Tools
- Remarkable (Markdown file editor)
- Chrome (Browser with great debugging features)
- Postman (Debugging and Testing of Rest API)
Here is the detailed tutorial on how to setup the toolbox:
Toolbox setup – step by step
Step 1: Create virtual machine
- Start VMWARE Workstation
- Create a New Virtual Machine
- Select the ISO image of your operating system
- Select the operation system that corresponds with your ISO image
- Provide a name and a location (Ensure there is enough free space on the disk)
- Adjust the size to 30 GB (maybe e.g. less could be enough but adjust the size later is some additional work I want to avoid)
Note: Having multiple files is suitable for sharing. Regarding performance we should be fine with that choice.
- The default assumes 1 GB Ram that is way to less and would make no fun for Java development so it’s recommended to customize the hardware.
- Adjust memory
- Check adjustment and finish the wizard
- The virtual machine should exist now
Step 2: Install operation system
- Power on the virtual machine
- Wait until Linux Mint booted from the ISO image and then start the installation
- Select your preferred language (regarding usage as a template for you company maybe English is most suitable for the developers)
- Define the keyboard layout
- Continue to the next screen
- Install Linux Mint
- Continue when the warning to write on disk appears
- Select your location
- Fill out the form with the default root account. I recommend using an generated, secured password that you can share with the colleques where you provide this template.After clicking Continue the installation should start.
- When the installation is done restart the guest operation system and let the VMWARE know that the installation is done so the machine will not boot from ISO image and use the installed operation system the next time.
- Ensure that the ISO image is removed (VM >> Removable Devices >> CD/DVD >> Connect is not checked) and press enter
- The guest operation system should have started and you can see the login screen.
Step 3: Install VMWARE Tools
To work with the VMWARE smoothly I recommend installing the VMWARE tools in the guest operation system. The delay of mouse movement and keyboard input is reduced and the dynamic size adjustment of the screens are improved.
- A yellow message appears at the bottom of the VMWARE screen. Click on Install Tools.A short description of the required steps appears:
- Log on to the guest operation system, so enter the password in the login screen and hit enter.
- Open the virtual CD drive
- Uncompress the installer and open the archive application from the context menu (right click on the tar.gz file).Drag and Drop the folder to your desktop
- Open the terminal in the extracted folder and execute vmware-install.pl. You can directly open a terminal window and navigate to the location or you can use the GUI to open the folder, right click in the white area in the new window and select “Open in Terminal”.Execute the command
Enter your administrator password (the password that you have used for the login) and answer the upcoming questions by hitting enter (default will be used) or adjust the parameters if you need to.
- After the installation is done we have to do some minor adjustments as described in the installation result message
- As e.g. copy&paste from host operation system to guest operation system works already there was no reason to execute the three mentioned steps. If it’s not working I recommend just to restart your guest operation system.
That’s it for the beginning. You now have created a basic virtual machine that can be used for further use cases. In this blog series the use case is to provide a common workspace among your developers. In part 2 I show the installation of some really helpful tools for developers.
Hey great stuff!
I found some links that are broken in this blog and the second part
it would be great if you could update 🙂
thanks for the hint. I fixed it.