Has anyone created a Hudson or Jenkins Job to deploy to an AWS Beanstalk Instance?

I want to move an app I have to beanstalk. I want to have an easy automated way to promote new builds though. The console interface in beanstalk is nice: I can just get the war file and upload it. However, it would be nice if I could just run a Jenkins job and have it deploy when it finished building the war file.

I found a thread on here about doing ssh to a beanstalk instance. But there is probably more to it because Beanstalk is probably a cluster with a master that wants to be the deploy manager.

Worth doing or should I just accept the upload page?

Answers


If you're using Maven for your builds, I wrote a plugin to automate beanstalk and Elastic MapReduce deployment:

http://beanstalker.ingenieux.com.br/

I'm looking for testers! :)


Afaik beanstalk has a web interface so you could create a selenium script to upload it for you. That would be a bit of a hack though.

Uploading via ssh or so it probably a good option. Also beanstalk has an API (http://aws.typepad.com/aws/2011/01/aws-beanstalk-apis-and-command-line-tools.html) that you could easily use from a script and then executed from hudson.

If you use a maven build you could have the build do the deployment invocation as part of e.g. the maven deploy phase after a successful build including unit tests..


I also didn't manage to find a Jenkins plugin to do so.

A good first step would be Luca's Beanstalk upload script to build a Jenkins plugin: https://github.com/blanq/beanstalk-upload


You can try jcabi-beanstalk-maven-plugin, which automates deploying by CNAME swap. It's an experimental plugin with specific focus on this particular deployment strategy.


Just FYI: I released a Plugin for that:

https://wiki.jenkins-ci.org/display/JENKINS/AWSEB+Deployment+Plugin


you can use Khan Academy's open source jenkins ec-2 plugin. https://github.com/Khan?page=2


Need Your Help

Security mechanism during Apache startup - discussion on various solutions that could be considered

java xml apache security

I have made a apache and mysql based web application using java as a middle-ware (business logic). The application is all ready to be deployed. this application is designed to be run on a single user

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.