You can save money and time using my one-click deployer system!
I created a great project which helps you deploying a whole… a full environment. What does it mean? Developing software is not only typing in eclipse IDE.
If you want to increase the frequency of your work, improve productivity and accuracy, if you want to release better software in less time, this project is for you!
Java Project Environment Deploying System for java software developer teams.
It’s good because I made it for myself!
Testing is extremely important!
As soon you change something inside your product, tests can be used for checking whether the change killed a part of your code or not. If some error occurs you can see it immediately, and you can fix it at that moment. Testing lets you to change your code without worrying about it. Testing is a safety net in my system.
jUnit & jBehave technologies.
Unit tests are the first line of testing. They are inside the source code made by the coders themselves. So these are java codes. jUnit tests are responsible for watching the correct behaviour of the code. Unit testing gives us the ability to verify that our elementary parts of codes work as expected.
JBehave tests -so called acceptance tests- are the tests from the user’s point of view. Jbehave technology provides a solution to the people who are not computer programmers to declare test cases following a very simple syntax. They can send the test cases to the developer team in plain text files or even excel tables. My system can run tests depend on these files.
Testing the GUI
My system deploys an initial product at the first run, at the time you clicked the magic button as a request for a new environment for your new project. If it wasn’t any java code inside the project then what could be tested? Therefore I had to write a little funny java GUI product. You can change it to your own code of course. That java project is only for presentation purpose only.
GUI testing can be combined with jUnit and jBehave testing as well of course. GUI testing is a method when the testing process do activities on the graphical components of your product and checks the behaviour of them. If you observe that, you can see the buttons clicked, the text input fields be filled with text and so on like a ghost could use your computer. It is really funny and extremely useful. 🙂
Do you want to see GUI testing in process? (click on the image below)
Version controlling technology is another safety net. What you created earlier remains reachable anytime you need it. When your idea come to a dead end, using git you can step back to a previous good state and try a different way.
Gradle the building (and more) system. Forget maven, that is the past. Gradle is the future. My system (my Jenkins) uses gradle, the newest building engine. As I wrote previously here.
Continuous integration and deployment
Of course it is jenkins.
Because it is a very popular Continuous Integration tool with an easy to use web interface. Jenkins watches the version controlling system and when something changed in the source code it starts a so called build process, which creates your product from the source code. Jenkins provides graphical reports of the mentioned technologies and more! You get web browsable html reports of different tests, coverage, and code quality as well. My jenkins uses gradle for building and git as a version controlling system. And of course I integrated SonarQube as a code quality reporting system. Sonar provides colorful diagrams of code coverage and a lot of metric data after Sonar analysed the source code. The report depends on the setting of rules. There are a lot of rules you can use and change to fit your needs. SonarQube reports are reachable from Jenkins web interface of course.
Some screenshots of jenkins and sonar web interface:
Here you can see the reports which were generated by jenkins and sonar
(click on the image below):
Continuous delivery is the way, how my system automatically sends (parts of) the product to a target computer (using SCP) and sends the zipped package into a dedicated web server, where customers can download from to their computers.
I recorded how easy to get and run the brand new product!
(click on the image below to see it on youtube)
My system deployed into virtualbox machines because now I have only one computer and I wanted to try my system on separated machines. It is working! And of course it is possible to install the components into only one machine.
This is how my virtualbox servers start (click on the image below)
It’s good because I made it for myself and I use it of course!
Let’s see how easy to import a brand new project into eclipse IDE
(click on the image below)
And now let’s see the most important part of this news. How easy to deploy a new environment using my system. (Click on the image below)
The end user licence costs 2000 EUR. If you want to get it for less money, please visit my indieGoGo campaign!
The following is a very special offer. I invented a new business model. The earlier you buy end user license, the faster you get the money you paid for it back!
Let the letter n be the pieces of the end user licences I sold. Then customer having the index as n/10 gets the money back! Yes, all the money he paid for the licence. (Only end user licences, not money for support or other!)