DevOps | auto provision an intelliJ software development eco system

to auto-provision an eco-system for java software development

automate manual tasks that take time – is the DevOps culture – and setting up a development stack takes time, so we automate it

java development stack components

Which components orbit an IntelliJ or Eclipse IDE. How do we automate the creation of a ready-to-use software development environment? Let’s start at the end – what is the end-game? What does success look like?

The End Game | Software Development Stack

On Monday morning, developers on their 1st day and 100th day walk in and sit at a blank Windows or Linux machine. They type in one command, wait 5 minutes then start writing code. What happened during the 5 minutes.

Auto-Provisioning a Development Stack | the 5 minutes

In the You can use Chocolatey to automate installation on Windows, whilst using apt-get or yum on Linux. These are the steps required to achieve the development stack

  • install IntelliJ and note the install folder.
  • install Maven 3, configure env vars, settings.xml and IntelliJ.

post creation use cases | intellij

Once the intelliJ eco-system is up and running we will want to trigger
use case flows against it.

# Use Case What is needed? By Who? What Happens Command (Example)
1 versioned git checkin I want all projects checked in with new maven version coordinate. The maven version for every project is updated to the current yyddd-hhmm time-stamp and every project is checked into git. Maven command mvn versions:set -DnewVersion=0.1.6 -DgenerateBackupPoms=false is used. ruby uc.versioned.push.rb
2 build / test projects I want to build on the command line. All java projects are compiled, tested and their artifacts are installed into the local maven cache. ruby uc.build.projects.rb
4 run local tomcat on 8899 I want to visit http://localhost:8899/ for web or rest serrvice exploration Build, test, run a tomcat8x (or 9x) instance and deploy the application WAR into it. ruby uc.run.web.services.rb
3 create cobertura report What percentage of code is covered by tests (asks the Developer)? A Cobertura test coverage report for every java project is produced for the software developer to peruse. ruby uc.cobertura.report.rb

Leave a Reply

Your email address will not be published. Required fields are marked *