我一直在学习木偶,并用它来build立一个jenkins盒子。 我通过tomcat连接jenkins,因为我也可能在那里运行其他的webapps。
编辑 :我已经安装(通过puppet module install puppetlabs-stdlib )puppetlabs提供的stdlib使用file_linetypes。
这是用于设置jenkins和tomcat并将两者连接在一起的puppet模块清单。
class tomcat_jenkins { package{'java-1.7': ensure => installed, name => 'java-1.7.0-openjdk', } package{'tomcat6': ensure => installed, require => Package['java-1.7'], } package{'jenkins': ensure => installed, require => Yumrepo['jenkins'], } file{'jenkins-symlink': name => '/usr/share/tomcat6/webapps/jenkins.war', require => [Package['tomcat6'], Package['jenkins']], ensure => link, target => '/usr/lib/jenkins/jenkins.war', } file{ '/srv': ensure => directory, owner => 'root', group => 'root', } file{ '/srv/jenkins': ensure => directory, owner => 'tomcat', group => 'tomcat', require => Package['tomcat6'], } file_line{'jenkins_home': ensure => present, path => '/etc/tomcat6/tomcat6.conf', line => 'JENKINS_HOME=/srv/jenkins', require => [Package['tomcat6'], File['/srv/jenkins']], } service{'tomcat6': ensure => running, enable => true, require => [Package['tomcat6'], Package['jenkins'], File_line['jenkins_home']], subscribe => [Package['jenkins'], File['jenkins-symlink']], } }
我看到木偶代理的输出正确地应用了目录,它伪装成继续前进并应用更改,但是/etc/tomcat6/tomcat6.conf文件中没有/jenkins/ 。 我没有任何其他pipe理该文件。
puppet agent -t -d输出:
info: Applying configuration version '1343250206' debug: /Stage[main]/Tomcat_jenkins/File_line[jenkins_home]/require: requires Package[tomcat6] debug: /Stage[main]/Tomcat_jenkins/File_line[jenkins_home]/require: requires File[/srv/jenkins] debug: /Stage[main]/Epel_repo/Yumrepo[epel]/require: requires File[/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6] debug: /Stage[main]/Tomcat_jenkins/Package[jenkins]/require: requires Yumrepo[jenkins] debug: /Stage[main]/Tomcat_jenkins/Service[tomcat6]/require: requires Package[tomcat6] debug: /Stage[main]/Tomcat_jenkins/Service[tomcat6]/require: requires Package[jenkins] debug: /Stage[main]/Tomcat_jenkins/Service[tomcat6]/require: requires File_line[jenkins_home] debug: /Stage[main]/Tomcat_jenkins/Service[tomcat6]/subscribe: subscribes to Package[jenkins] debug: /Stage[main]/Tomcat_jenkins/Service[tomcat6]/subscribe: subscribes to File[jenkins-symlink]
在irc.freenode.net上的#puppet上,我发现我在puppet agent上丢失了一个configuration参数。 我需要:
pluginsync=true
在[main]部分。 添加该行后,它愉快地下载插件,并设置我的东西。 赢得。