퍼핏을 사용하여 Tomcat에 Solr을 배치하려고합니다. solr.war
이 /var/lib/tomcat6/webapps/solr.war
으로 복사되면 Tomcat은 새로 추가 된 파일을 확인하고 배포하는 데 약간의 시간이 걸립니다. 배포 단계 중 하나는 .war
파일을 /var/lib/tomcat6/webapps/solr/
디렉터리로 확장하는 것입니다.꼭두각시를 사용하여 Tomcat에 Solr을 배치 할 수 없습니다.
문제 : solr.war
를 배포하고이 구조를 생성 한 /var/lib/tomcat6/webapps/solr/
후 바람둥이로 (apache-solr-dataimporthandler-3.6.1.jar
같은) 파일을 추가하려고. Tomcat이 수행하기 전에 폴더 /var/lib/tomcat6/webapps/solr/
을 만든 경우, 아래에서 내 매니페스트가 수행하는 작업이며, Tomcat은 Solr을 배포하지 않습니다.
Puppet이 새로 만든 디렉토리에 파일을 추가하기 전에 tomcat이 solr을 배포 할 때까지 기다릴 수 있습니까?
매니페스트
class solr {
file { '/var/lib/tomcat6/webapps/solr.war':
ensure => present,
owner => root,
group => root,
mode => 644,
source => 'puppet:///modules/solr/apache-solr-3.6.1.war',
notify => Service['tomcat'],
}
file { '/usr/share/solr':
ensure => present,
source => 'puppet:///modules/solr/solr',
recurse => true,
require => File['/var/lib/tomcat6/webapps/solr.war'],
notify => Service['tomcat'],
}
$solr_dirs = [ "/var/lib/tomcat6/webapps/solr/", "/var/lib/tomcat6/webapps/solr/WEB-INF/",
"/var/lib/tomcat6/webapps/solr/WEB-INF/lib/"]
file { $solr_dirs:
ensure => "directory",
}
file { '/var/lib/tomcat6/webapps/solr/WEB-INF/web.xml':
ensure => present,
owner => root,
group => root,
mode => 644,
source => 'puppet:///modules/solr/web.xml',
require => File[$solr_dirs],
}
file { '/var/lib/tomcat6/webapps/solr/WEB-INF/lib/apache-solr-dataimporthandler-3.6.1.jar':
ensure => present,
owner => root,
group => root,
mode => 644,
source => 'puppet:///modules/solr/apache-solr-dataimporthandler-3.6.1.jar',
require => File[$solr_dirs],
}
}
내 대답 좀 보셨습니까? 유용 했습니까? – javanna
네, 고마워요! 꼭 꼭 필요한 것, 다른 사람들도 퍼핏은 전개를위한 것이 아니며 솔버를 데비안 패키지로 패키징해야한다고 말하고 있음에도 불구하고 – Nyxynyxx