継続的デリバリーへの一歩:デプロイの自動化

Java の Web アプリで Jenkins を使ってデプロイを自動化する話。

http://www.tomcatexpert.com/blog/2012/03/21/integrating-jenkins-and-apache-tomcat-continuous-deployment
http://www.bestdesigns.co.in/blog/tomcat-server-control-wget-tomcat-manager

Tomcat の管理画面(/manager)に対して wget でリクエストを送ることで、サーバのディスク上に配置した WAR をデプロイできる。スクリプト化しておくことで、デプロイの自動化できそう。

実行例:

wget "http://tomcat:password@localhost:8080/manager/text/undeploy?path=/" -O - -q
wget "http://tomcat:password@localhost:8080/manager/text/deploy?path=/&war=file:/home/okinaka/project.war" -O - -q

このようなスクリプトを用意し自動化しておくことで、本番環境と開発環境の両方で同じ方法でデプロイが可能となるわけだ。