sunbird 发表于 2018-8-2 06:01:43

Puppet批量部署tomcat-linux运维技术

node 'node3.com'{    #标识只给node3.com这台主机推送,不写默认所有主机  
    file{'tomcat':    #使用文件资源,名称随便起
  
      ensure=>present,
  
      #文件如果存在就对比md5值,不同就进行传输,如果不存在直接传输
  
      source =>"puppet://$server/files/apache-tomcat.tar.gz",
  
      #指定文件在puppet服务器上的位置,如果引用变量,则必须使用双引号
  
      path=>'/opt/apache-tomcat.tar.gz',#指定文件在客户端的位置,文件名必须要写
  
    }~>
  
# '~>'指示下一个资源和这个资源有依懒性,上一个资源执行成功时会通知下一个资源
  
==subscribe=>Exec['tar xvf']
  
#还有'->'表示顺序性,只要上一个资源没有报错,就会执行下一个资源==require=>Exec['tar xvf']
  
    exec{'tar xvf':
  
      command=>"tar -xvf /opt/apache-tomcat.tar.gz -C /opt/",#在客户端解压tomcat安装包
  
      path=>"/usr/bin:/bin",
  
      #在解压时所需命令所在的位置
  
      refreshonly=>true,
  
      #当上一个资源成功执行时才执行本资源,配合subscribe=>Exec['tar xvf']一起使用
  
    }
  
    file{'server.xml':    #替换配置文件
  
      ensure=>present,
  
      source =>"puppet://$server/files/server.xml",
  
      path=>'/opt/apache-tomcat/conf/server.xml',
  
    }
  
    exec{'startup':    #启动tomcat服务
  
      command=>'startup.sh',#执行启动命令
  
      path=>"$tomcatconf/bin:/usr/bin:/bin:/sbin",
  
      refreshonly=>true,
  
      subscribe=>Exec['server.xml'],
  
    }
  
}
页: [1]
查看完整版本: Puppet批量部署tomcat-linux运维技术