Do you know alternatives to Buildix? - java

Buildix is a complete development server (by ThoughtWorks) for Continuous Integration
I'm looking for a pre-configured server with Maven, Subversion, Sonar, Nexus...

I just happened to read about SecureCI yesterday on The Build Doctor blog. Seems like just what you're asking for.

TeamCity is one of the best CI tools around, IMHO.

Related

Eclipse Plugin Project with JGit implementation

I am creating an eclipse plugin with jgit implementation, thus I need a way to show the development history of a project. I guess I need to write the java code to add, commit and push to a repository from the eclipse plugin. How would I be able to do this? Searching the web has given limited help with this.
This sounds like you are considering some nice new git visualization features. Perhaps adding them to EGit would be best. EGit is already a consumer of the JGit library, so there should be lots of example code to look at.
The jgit-cookbook provides a number of ready to run snippets for many such tasks. And the sources of EGit will provide hints how things can be done in Eclipse plugins.
EGit is providing this already

Are there any Jenkins plugins for Mercurial code review?

I wasn't able to find any Jenkins plugins for Mercurial code review. I've found separate plugins for Mercurial, but they don't seem to integrate with Jenkins.
Is there something like Gerrit but for Mercurial?
Gerrit's older brother, Rietveld (https://code.google.com/p/rietveld/) supports:
Mercurial (this is what you ask about)
Git
Subversion
Perforce
CVS
As far as I know, there is no Rietveld-Jenkins integration, but I believe it shouldn't be a big issue to add a such functionality to the tool. Rietveld provides basic, but sufficient API: https://code.google.com/p/rietveld/wiki/APIs which allows easy integration with Jenkins. Maybe not as feature rich like in the Gerrit case, but the basic functionality (gate-keeping) should be relatively easy to implement.

How to use code repositories in Eclipse?

How can I use code repositories in Eclipse? Should I use SVN or Mercurial? What way is easiest to use with Eclipse on a Mac. I tried to use Google Code (with SVN and Mercurial), but I need to get JavaHL for it to work. Is there an easier way?
Thanks!
How can I use code repositories in Eclipse?
It depends on the version control technology, but Eclipse has support for a number of technologies, via the "Team" user interfaces.
Should I use SVN or Mercurial?
Your choice. There are other version control technologies supported too; e.g. Git and CVS. Search in the Eclipse Marketplace.
You really need to do your own research on this, and figure out which one best matches your and your project's requirements. (SO is not a survey or recommendation site, so don't expect people to give you recommendations ...)
What way is easiest to use with Eclipse on a Mac.
Erm ... see above.
I tried to use Google Code (with SVN and Mercurial), but I need to get JavaHL for it to work. Is there an easier way?
Unfortunately, the SVN plugins for Eclipse require an implementation of the native JavaHL drivers:
For windows, the drivers are included when you install from the update service.
For other platforms, they are not. You can download them for free from Collabnet (after a signup song-and-dance). The installation and setup is non-trivial, but the process is well documented, and it works if you complete all of the steps as per the documentation. This is, IMO, a "poor user experience", but nobody seems to care enough to fix it. (Guys ... the word you are looking for is "compromise".)
The JavaHL libraries are only required by the SVN plugins. Other version control technologies don't require this.
I've been using subclipse for a while, and I think it is great enough for small projects.
You can try EGit if you are using git as your repository.
If you search for "Eclipse version control", you'll get many recommendations.
SVN (need to install the JavaHL library)
EGit (recommeded if you are using Git)
SourceAnywhere Standalone (provided by the company I'm working for)
Mercurial (MercurialEclipse)
You can test out the above tools to see which meets your requirements best.

Automatic deployment in GAE from subversion trunk

My team is developing a Java application which is to be deployed on Google App Engine(GAE). Currently we use the eclipse-plugin to build and deploy the code in GAE.
However, I would like to automate(by using cron or svn-post-commit hook) this process so that the source code in subversion trunk is automatically deployed in GAE before each scrum meeting. I hope this would eventually reduce the load on our programmers and help them to focus more on the application logic.
Please let me know if this is possible with Java+GAE+Subversion
thanks in advance
It is possible. This is what I did with my project. I should also note that this question is similar with another stackoverflow question in Possible to integrate Google AppEngine and Google Code for continuous integration? and it provides several good answer that you could use.
That being said, my personal approach is to set up ant build for the eclipse project, and use Jenkins to automatically update the code from Subversion and build them up using the ant build.
You could then add a target using appcfg and macro provided by google to upload your built project to Google App Engine. More details of using Ant on Google App Engine could be seen in here.
A bonus point of using continuous integration tools such as Jenkins is that you could add automated unit testing using JUnit or your personal testing flavor. It will save your team lots of headaches in the long run.
I used python for GAE and there is a appcfg.py script with which one can deploy the code with one command as -
python appcfg.py update
This makes me think that for Java as well there must be some script from Google to deploy applications. If there is one, then what you are trying to do must be a simple command which be used a cron job.
Your team should use a Continuous Integration tool, e.g. Jenkins. This will solve your next problems too, which you may not thought over: it can be configured to run unit and integration tests before deployment. It has many options for version control system integration.

Is there good deployment and administration for Java environments?

We already have a good build server in Hudson but we want something that would let us startup and shutdown servers, push out new deployments of software (which is much more involved than just a single WAR or EAR going somewhere, there is copying, extracting, renaming, etc.), and various other tasks we would like to automate.
I've looked at SmartFrog (seems largely academic rather than commonly used), ControlTier (a dose of heavy complexity to go with your complexity), Capistrano (Ruby and Rails focused), and Func (no docs at all, their MediaWiki has been wiped). Is there nothing that is a good 80/20 solution for this kind of thing. Surely you could have a tool that would offer a lot of what ControlTier offers without all the overhead.
The alternative is Ant scripts to do everything (possibly available through our existing Hudson server) or even a Hudson plugin of some type but that feels kludgy to me and I'm just not liking it as a solution (plus we might be rebuilding something when we don't need to).
Please, tell me about a good alternative.
We are using Ubuntu only and use Debian packages to distribute builds across our servers and control them with init scripts. It's also great to setup a new server. Just add dependencies to Java, MySql and whatever you need and you'll be up and running a new deployment within seconds.
You might want to try Cargo. You can use ant and maven for the deployment definition you want and then set Hudson to point at your ant's build.xml or maven's pom.xml.
Chef was mentioned here but I have no experience with it.
There is also Puppet that you need to check out. You might need to read this great whitepaper on achieving fully automated provisioning
-Ken
LiveRebel might be a suitable tool for this task. It provides CLI API and also a Hudson/Jenkins plugin for automation

Categories

Resources