CentOS6 でも Webappsをリモートデバッグしたい
Linux上のTomcat でのWebappsをリモートデバッグするには、
/usr/share/tomcat6/bin/startup.sh を
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
から
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
に変更するらしいのだけれども、CentOS6等で yumを使ってインストールした場合、デーモン(Windowsユーザーにとってはサーバー)仕様でインストールされてしまうため、こういったファイルはない。
それではどうやってするのか、というのを調べていたら、
ubuntuの場合、/etc/default/tomcat6 なるファイルに、
JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
といったふうに記載するらしい。
CentOS6では /usr/share/tomcat6/conf/tomcat6.conf が該当するファイルのもよう。
あとで試す。
それはいいとして、vagrant/ansibleではどう書くのがいいのかな?
ansible から呼出すシェルスクリプトの羃等性
ansibleから呼出すシェルスクリプトで羃等性を確保するには、実行フラグにあたるファイルをタッチする。
- name: hoge shell: /vagrant/hoge.sh args: creates: /vagrant/hoge.log
#!/bin/bash # do hoge as root # do something touch /vagrant/hoge.log
このフラグファイルを共有フォルダ上にして、これで羃等性が一部確保できたが、
Vagrant destroy実行時に削除しなければならなくなってしまう、と悩んでいた。
もっとよい方法はないものかと、聞いてみると、そのフラグのファイルを仮想マシン内におけばよいとのこと。
なるほどー。