I am new at this forum. I have been trying to find some help, but I don't even know how to look for it at Google, so I will just describe it here and I would appreciate if someone can at least give me something to search for in Google.
I am developing some Java SE scripts using Netbeans 7.4 on a Windows 7 machine. At the end, the application needs to run in a Solaris 10 server. I am trying to find a formula where I can develop on my Windows laptop, upload it to the Solaris production server, compile there and execute(maven or ant maybe??); also I would like to keep some repository where I can see the changes to the scripts(SVN or CVS??). At the end lets say I need to modify the current version of the script with Netbeans, every time I have to download the entire directory of my Java application using an FTP client, compile, test, etc. on my laptop, then Clean, upload it again to the directory to overwrite the current one and compile and re-run the script. As you can see there is too manual stuff involved. Is there something I am missing? How can I keep a version control with source codes, open it from the server on my Windows laptop, modify what I have to, and the install(or deploy??) in the Solaris production server the changes?
What do I need?? I tried Maven. Maven is OK for handling projects, compiling, etc. Needed some plugin to allow execution, but in the repository it only keeps jar files, not sources, so I don't see a way how I can download from the server the sources to modify and upload it again. I read some Maven tutorials, but I have not found something clear about how to keep a repository with a SVN with sources, that I can use with Netbeans. I really need a formula to be able to work with Java SE scripts(command line interface, daemons, etc. etc.)
I would appreciate also if it is not too much, if there is some type of advantages on the Solaris Management Facility (SMF) on Java applications.
I need a formula where I can have sources on a server with their respective version. Download the current one on my local Netbeans. Modify. Save, upload, compile, execute. I have to do each one of these steps manually and I am pretty sure there is something I am missing.
I can't help you with most of that, but WHY do you need to compile it on both platforms? One of the fundamental advantages of Java is you can (theoretically) write it once, and run it anywhere. You should be able to just upload your .class files and run the application.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
1. I would stay away from CVS -- SVN or Git are better.
2. What you describe is Continuous Delivery.
3. If Continuous Delivery is too much, you can significantly reduce the number of manual steps by automating the process.
The flow is:
1. Developer works on code on local machine
2. Developer commits code changes to Version Control System (VCS) -- again, SVN or Git would be better than CVS
3. Properly configured Continuous Integration (CI) system (Jenkins or Hudson) runs build job(s) (with Maven or Gradle) after it detects code changes committed to VCS
4. Build jobs create new deployable artifacts (jar, war, ear, etc.)
5. CI server/build job deploys build artifacts to target environment (in your case, Solaris)
All these steps can be automated given the right tools and the right setup.
The best ideas are the crazy ones. If you have a crazy idea and it works, it's really valuable.—Kent Beck
Thank you very much. I needed a work flow for continuous development and what you mentioned seems to fit my needs. I already read a little about maven.. I will read about CI... Jenkins... Gradle... so I can create the base of my development lifecycle. I really appreciate your answers. Regards, Jaime
I need a new interior decorator. This tiny ad just painted every room in my house purple.
Sauce Labs - World's Largest Continuous Testing Cloud for Websites and Mobile Apps