Build and Deploy Grails App on Jenkins - maven

I've inherited an existing Grails Maven app and have been tasked with looking into automating the build and deployment of it.
It currently uses grails 1.3.7 but will be upgraded to 2.1 soon.
So
1: Is there a way to allow someone log into jenkins and click a button that will automatically create a build?
2: Is there then a follow up task I could use to allow the user deploy the build to a server I have specified beforehand?
Any links to usefull/relevant articles would be great.....I'm fairly new to both grails and jenkins.

1 + 2) Yes. This is pretty much exactly what a Jenkins job does.
Take a look at Continuous Integration with Grails for a quick start, or the Jenkins Wiki for a slightly less quick start.

Related

Jenkins - Build, Deploy and Promote

Recently, I started learning how to use Jenkins CI. So I am a little bit of a noob at jenkins. I am about to start to try and do the following:
I have setup a maven multi-module job on jenkins, which builds, tests, and finally creates 4 seperate war applications. I archive the war artifacts as part of this job. These war files will only ever be built once, they contain multiple environment properties, and the war file along with each environments server will manage the profile it runs in, eg dev, test, staging, prod, etc
I have another job on jenkins which will deal with the deployment to multiple environments.
This second job, uses the copy artifact plugin, and uses a post build action to deploy to a dev environment.
The job in step 2 will hopefully be able to have multiple promotions, allowing deployment to multiple environments: test/staging/performance/production etc.
I have searched stackoverflow and google, and all the posts I see, always use the parameterized plugin, specifying a parameter for the environment. This means there is a seperate build for each env which I don't like.
Can anyone tell me if this is the right way to go? Or direct me to some tutorial on how to do this properly.
Looks like what you need is a matrix-project build.
P.S.
A good introduction to Jenkins could be found in Jenkins: The Definitive Guide
After playing around with the jenkins configuration. I have this working very nicely now.
In the deployment job, I didn't see the "Add another promotion process" button, which allows me to promote the same build to multiple environments manually or automatically.

Eclipse sonar plugin vs findbugs+pmd+checkstyle eclipe plugins

We are trying to install a CI Platform with (Jenkins,sonar,eclipse ...).
So that every developer can make analysis on his code before commit, I'm wondering between two alternatives :
running local analysis with the sonar plugin.
install the different plugins that sonar use (findbug,pmd,checkstyle ...) and configure them to meet the sonar configuration.
I'm not sure which alternative to use? I used to work with findbugs,pmd, checkstyle in eclipse and they look great.
Can you tell me which is the best alternative?
Thanks in advance.
Regards.
With Sonar plugin you can manage the violations like:
Create a review
Mark a violations as false positive or fixed
View the hot classes and hot violations
View yours reviews
If you use separate plugins you have to go sonar web to do that.
The great advance of sonar is the reviews.
Other question is how many projects you have and will have. I currently work with more than 70 projects and many profiles. Is more simple to me run analysis with one plugin, because I need just add the server and find the project. With other plugin you need add the link for each project in each plugin configuration.
Why not install the Sonar Eclipse plugin?
This was designed to solve the following problems:
Sonar does not support parallel analysis of the same project. This issue rules out the option of each developer running Sonar locally. (See SONAR-2761, SONAR-3306)
You don't really want developers uploading metrics and source code into the Sonar database. They could be working on an uncommitted workspace and would therefore cause both inaccuracies and confusion if Sonar is being used for code review.
Sonar is really designed to be run from a continuous integration server (like Jenkins), building code that has been submitted onto a shared codestream (or branch)
The big advantages of using the Eclipse plugin are:
True local analysis, no updates of the Sonar database
Configuration of the other tools is retrieved from the Sonar server and jars automatically downloaded.
Centralized management of Sonar quality profiles

Where to observe application deployed by Jenkins?

Question from a first-time Jenkins user. So I hope you wouldn't mind if the question is too silly.
I have installed jenkins on a Ubuntu machine, and is accessible at localhost:8080. I have successfully configured it to work with Maven2 and Git as well. Next, I created a job/project (A Java/Spring application), and got it to build without error on Jenkins as well.
Now my question is, where do I see this application running? :)
Best Regards
James
To deploy : http://mojo.codehaus.org/tomcat-maven-plugin/plugin-info.html to do it with maven or https://wiki.jenkins-ci.org/display/JENKINS/Deploy+Plugin to do it with jenkins
You can see the console output in the running job if you click the running job and look for the link on the left hand side.
Building and deploying are two different things. Jenkins can do the latter for you too but you need to have it configured in your maven project. Typically this is accomplished (for tomcat) using the tomcat maven plugin

Jenkins RequireJs Build / CI

I've just started a project that uses RequireJs, Backbone etc. Everything is running well client-side and I wan't to set up my build environment.
I was planning on using Jenkins but have found zero information on how to go about this. I've managed to set up Gradle and use that to do things like minify the js etc, but I think I need to run R.js and have no idea where to get started or if this is even what I should be doing.
I've googled a bunch and found nothing. Sorry for my ignorance.
Jenkins has a Gradle plugin: Gradle Jenkins Plugin
Installation
The plugin is very easy to install and use. To install it, just use the Jenkins web interface.
Manage Jenkins -> Manage Plugins -> Available Plugins -> Install
Search for Gradle, check the box and click install.
Create a job
Click new job. Select free style job and add a Gradle build step.

is it possible to create builds in asp.net mvc3 using jira and ant

I am working on the daily builds using ant and jira for one of asp.net mvc3 project, I searched so many forums for this but I am not able to find any solution for this,
Is it possible to create daily builds using ant and jira (or any other tool) on the server which will result as following
www.example.com/build1
www.example.com/build2
www.example.com/build3
...
every build should be working
waiting for reply
Thanks
what you want is continuous integration. You probably want to go with Hudson or Jenkins. Then you can have ant or microsoft build tools to do the daily or hourly or whatever builds for you.
You can track the builds, also you can deploy the builds with specific IDs etc.
with JIRA you can track the bugs etc.

Resources