Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CloudBees + PlayFramework + Eclipse

I want to develop and manage my DEV@CloudBees and RUN@CloudBees workspace from Eclipse, for a PlayFramework project, and I will have to work with it from several different PC. I'm using the Cloudbees SVN repository, Jenkins CI solution, database ... everything.

I installed CloudBees and PlayFramework plugins for Eclipse, created my CloudBees account, SVN repository, project, Jenkins Job and database. I've created my Play project, eclipsified it.

I understand and I have tested each component of my targeted working environment but I didn't manage to make them work smoothly together.

1- I've seen some Play modules for CloudBees but it is only for command-line use. Is there a nice Eclipse plugin wrapper for this ?

2- I have some issues writing the build.xml, especially when referencing the PlayFramework libs, because I can not use the local installation as it won't work on Jenkins.

3- How can I deploy to RUN@CloudBees from Eclipse ? If i use the CloudBees plugin, it doesn't package the PlayFramework libs.

4- How can I use the testing features of Play to be integrated in Jenkins ?

I have a lot of questions but it is enough for now :) By the way, PlayFramework is awesome and CloudBees a life-saving work environment.

Thank you for your help.

like image 593
Zofren Avatar asked Oct 20 '11 17:10

Zofren


4 Answers

Contact the support, they are really helpful..and fast!

they do have a plugin for Jenkins, ask to get it installed on your server..I use the command

play auto-test

and it works fine. You'll need some code to check for failures depending on the .failures files. check this link

like image 90
mericano1 Avatar answered Oct 20 '22 17:10

mericano1


I received a very quick and efficient answer from Cloudbees support.

It confirms what mericano1 and Ryan said (thanks to them).

The CloudBees Jenkins service let users install some customization plugins like the Play! Framework one !

After adding it to the core configuration, you can add a new build step "Play!" in your job configuration and set the Play! commands you need. For example "clean", then "deps --sync" and finally "auto-test". You can also add the war -o toto.war if you need the binary.

You can check the "Play! auto-test reports" checkbox. You'll have an additional icon "Play! Test Result" in the left menu of the build result page to watch the ... Play test result page (unbelieavable :)).

Still in the job configuration, you can check the "Deploy to CloudBees" features. I didn't tried but I think the Play! libs issues wouldn't be resolved. So, add the cloudbees 0.2.2 plugin in your Play! project dependencies.yml, and you can add the bees:app:deploy command in your build step.

For Eclipse, the CloudBees plugin is fully functionnal, once you have configurated your Jenkins job. But you should stay with the Play! process to develop locally and not the Run DEV@/CloudBees Local.

like image 43
Zofren Avatar answered Oct 20 '22 19:10

Zofren


1) The cloudbees module is only for the command-line. There is no Eclipse plugin (that I know of). However, the command-line is really simple play bees:app:deploy

2) Not sure here

3) Deploying Play Framework Apps is a bit different from deploying J2EE (because of the necessary play war command), thus deploying a Play app to Cloudbees from Eclipse might not be possible. However, see 1).

4) I think there is a Play plugin for Jenkins. I have never used it on/off Cloudbees.

OK, so I provided some help on questions 2 and 4, and unfortunately, the answers may not have been what you hoped. I suggest switching to command-line when it is time to deploy.

like image 40
Ryan Avatar answered Oct 20 '22 17:10

Ryan


In eclipse click on external tools menu and create a new command as noted by Ryan in 1). then you can simply click on the external tool icon.

like image 1
emt14 Avatar answered Oct 20 '22 18:10

emt14