XCode Project 용 CI 구축작업을 하고 있는데,
구축을 완료 하고, Tomcat을 자동 실행 시키려고 하니 이것 또한 참 귀찮다 ㅎㅎ
Mac OS X 에 Launch Daemon 에 등록시켜 주면 되는데, 방법은 아래의 plist파일을
/Library/LaunchDaemons/ 에 작성하는것이다. (예 : /Library/LaunchDaemons/com.tomcat.run.plist )
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.tomcat-5.5.launched</string>
<key>ProgramArguments</key>
<array>
<string>/Users/taehoonkoo/WorkSpace/severs/apache-tomcat-5.5.31/bin/catalina.sh</string>
<string>run</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
나 같은 경우에는 tomcat 5.5 version을 써서 catalina.sh 를 실행시켜줬지만,
apache wiki에 따르면 tomcat 6.x version에서는 startup.sh를 실행시켜야한다.
여기서 hudson webapp을 붙혀서 실행시키는데 여기서 또 말썽이다.
최초 한번은 잘되던데 2번째에는
"AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava.awt.headless=true"?"
라는 에러를 내뱉으며 hudson이 동작하지 않는다. -_ㅜ.
이때는 catalina property를 수정해줘야한다.
TOMCAT_HOME/conf/catalina.properties 파일을 열어서 마지막 즈음에 #String Cache Configuration 을 지정하는 쪽에다가
java.awt.headless=true
를 추가 해두고 재시작하면 정상 동작하는 것을 볼 수 있다.
주의해야 할점은 root 계정으로 실행시키기 때문에 .huson 폴더를 root의 home ( /var/root ) 에 생성 시킴으로,
따로 관리를 하려면, root 계정을 활성화해서 관리 해야 한다.