tomcat 및 .war webapps로 수행 한 작업은 압축 해제 된 전쟁으로 시스템 패키지를 만든 다음 conf 파일을 처리합니다. Weblogic을 많이 다루지 않았거나 JBoss를 전혀 다루지 않았기 때문에 압축되지 않은 WAR에 대한 처리 방법을 모르겠습니다.
1) 나는 모든 .WAR 건물 물건을 할 패키지 (RPM)를 구축 한 후 뭔가 같은 :
mkdir -p %{buildroot}/var/lib/tomcat5/webapps/APP
cd %{buildroot}/var/lib/tomcat5/webapps/APP
unzip ../APP.war
rm ../APP.war
(수 있도록 압축 해제 .war 파일은 실제 .WAR로 패키지에 . 파일이 루트에 속해 있기 때문에
2) 인형 물건 다소 같은) 쓰기 액세스 권한이없는 경우 특히, 그 다음 혼자 디렉토리를 떠나 바람둥이로 거기에 파일 :
package {
"tomcat5":
require => Package["java-1.6.0-sun"],
ensure => installed;
"java-1.6.0-sun":
ensure => installed;
"APP":
ensure => installed,
notify => Service["tomcat5"],
require => Package["java-1.6.0-sun"];
}
file {
"/usr/share/tomcat5/webapps/APP":
source => [ "puppet:///MODULE/APP" ],
ensure => directory,
ignore => [ 'CVS', '.git', '.svn', '*~' ], # ignore revision control and backup files
purge => false, # leaves other stuff alone
replace => true, # replaces stock files with ours
recurse => true, # gets everything recursively
require => Package[APP], # install package first
notify => Service[tomcat5]; # restart tomcat after
}
이 특정 패키지는 8 개의 디렉토리에 32 개의 파일을 가지고 있습니다. 단지 몇 개의 파일이라면, 재귀적인 것들 대신에 그 파일들을 관리하기 위해 두 개의 간단한 file{}
리소스를 사용할 것입니다. 당신이 시스템 유형 패키지를 빌드하고 싶지 않은 경우
, 당신은 대체 디렉토리 내로 exec{"unzip ...": creates => '/path/to/unzipped/webapp;}
을 전쟁을위한 file{}
자원을하고 file{}
자원 구성에 대한 Exec["unzip ..."]
을 필요로있을 수 있습니다.