Java Chef服务器:自动部署文件

Java Chef服务器:自动部署文件,java,tomcat,chef-infra,chef-recipe,cookbook,Java,Tomcat,Chef Infra,Chef Recipe,Cookbook,我需要一个简单的方法:从bitbucket下载一个存储库并将.war文件复制到“…/tomcat7/webapps”中 我试过了。很难知道我在说什么,但每次我运行这个配方: application 'teste' do path '/var/lib/tomcat7/webapps/teste' owner node['tomcat']['user'] group node['tomcat']['group'] repository

我需要一个简单的方法:从bitbucket下载一个存储库并将.war文件复制到“…/tomcat7/webapps”中 我试过了。很难知道我在说什么,但每次我运行这个配方:

application 'teste' do
  path         '/var/lib/tomcat7/webapps/teste'
  owner        node['tomcat']['user']
  group        node['tomcat']['group']
  repository   'https://bitbucket.org/willsoares/teste/src'
  revision     '2433cb2'
    scm_provider Chef::Provider::RemoteFile::Deploy

  java_webapp do
    context_template 'jenkins-context.xml.erb'
   end

  tomcat
end
我没有一个错误。这一切都没问题,但这不会“下载”文件

此配方自动创建3个目录。当前、共享和发布,但不起作用,即使我将.war文件放入“当前”运行的输出:

    Starting Chef Client, version 11.8.2
Compiling Cookbooks...
Converging 3 resources
Recipe: application_java::default
  * application_java_java_webapp[EdwardApp] action nothing (skipped due to action :nothing)
  * application_java_tomcat[EdwardApp] action nothing (skipped due to action :nothing)
  * application[EdwardApp] action deploy  * application_java_java_webapp[EdwardApp] action before_compile (up to date)
  * application_java_tomcat[EdwardApp] action before_compile[2014-01-27T16:08:15-02:00] WARN: Using java::default instead is recommended.
 (up to date)
 (up to date)
Recipe: java::openjdk
  * package[openjdk-7-jdk] action install (up to date)
  * package[openjdk-7-jre-headless] action install (up to date)
  * java_alternatives[set-java-alternatives] action set (up to date)
Recipe: java::set_java_home
  * ruby_block[set-env-java-home] action run
    - execute the ruby block set-env-java-home

  * directory[/etc/profile.d] action create (up to date)
  * file[/etc/profile.d/jdk.sh] action create (up to date)
Recipe: tomcat::default
  * package[tomcat7] action install (up to date)
  * package[tomcat7-admin] action install (up to date)
  * directory[/usr/share/tomcat7/lib/endorsed] action create (up to date)
  * service[tomcat] action enable
    - enable service service[tomcat]

  * service[tomcat] action start (up to date)
  * template[/etc/default/tomcat7] action create (up to date)
  * template[/etc/tomcat7/server.xml] action create
    - update content in file /etc/tomcat7/server.xml from af0c79 to 4badd6
        --- /etc/tomcat7/server.xml 2014-01-27 16:06:08.473328323 -0200
        +++ /tmp/chef-rendered-template20140127-22727-q4j93k    2014-01-27 16:08:18.492672575 -0200
        @@ -89,9 +89,9 @@
             <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                        proxyPort=""
                        keystoreFile="/etc/tomcat7/keystore.jks"
        -               keystorePass="vXy8xF0YuN6n9kgYvFXM"
        +               keystorePass="6o3WIP3PbICA3dEOx3ze"
                        keystoreType="jks"
        -               truststorePass="vXy8xF0YuN6n9kgYvFXM"
        +               truststorePass="6o3WIP3PbICA3dEOx3ze"
                        maxThreads="150" scheme="https" secure="true"
                        clientAuth="false" sslProtocol="TLS" />


  * template[/etc/tomcat7/logging.properties] action create (up to date)
  * execute[Create Tomcat SSL certificate] action run (up to date)
Recipe: <Dynamically Defined Resource>
  * directory[/var/lib/tomcat7/webapps/teste] action create (up to date)
  * directory[/var/lib/tomcat7/webapps/teste/shared] action create (up to date)
  * ruby_block[EdwardApp before_deploy] action runRecipe: application_java::default
  * application_java_java_webapp[EdwardApp] action before_deploy (up to date)
  * application_java_tomcat[EdwardApp] action before_deploy (up to date)

    - execute the ruby block EdwardApp before_deploy

Recipe: <Dynamically Defined Resource>
  * directory[/var/lib/tomcat7/webapps/teste/shared/log] action create (up to date)
  * directory[/var/lib/tomcat7/webapps/teste/shared/pids] action create (up to date)
  * directory[/var/lib/tomcat7/webapps/teste/shared/system] action create (up to date)
  * template[/var/lib/tomcat7/webapps/teste/shared/EdwardApp.xml] action create (up to date)
  * directory[/var/lib/tomcat7/webapps/ROOT] action delete
    - delete existing directory /var/lib/tomcat7/webapps/ROOT

  * link[/etc/tomcat7/Catalina/localhost/EdwardApp.xml] action create (up to date)
  * deploy_revision[EdwardApp] action deploy
    - purge old downloads (up to date)
Recipe: tomcat::default
  * service[tomcat] action restart
    - restart service service[tomcat]
启动Chef客户端,版本11.8.2
编辑食谱。。。
汇聚3种资源
配方:应用程序\ java::默认值
*application_java_java_webapp[EdwardApp]操作无(由于操作:无而跳过)
*应用程序\u java\u tomcat[EdwardApp]无操作(由于操作:无而跳过)
*应用程序[EdwardApp]操作部署*编译前的应用程序\u java\u java\u Web应用程序[EdwardApp]操作(最新)
*应用程序编译前的tomcat[EdwardApp]操作[2014-01-27T16:08:15-02:00]警告:建议改用java::default。
(最新)
(最新)
配方:java::openjdk
*包[openjdk-7-jdk]操作安装(最新)
*包[openjdk-7-jre-headless]操作安装(最新)
*java_备选方案[设置java备选方案]操作集(最新)
菜谱:java::set_java_home
*ruby_block[设置环境java主页]操作运行
-执行ruby块集envjavahome
*目录[/etc/profile.d]创建操作(最新)
*文件[/etc/profile.d/jdk.sh]操作创建(最新)
配方:tomcat::default
*包[tomcat7]操作安装(最新)
*包[tomcat7 admin]操作安装(最新)
*目录[/usr/share/tomcat7/lib/annowned]操作创建(最新)
*服务[tomcat]操作启用
-启用服务[tomcat]
*服务[tomcat]操作启动(最新)
*模板[/etc/default/tomcat7]操作创建(最新)
*模板[/etc/tomcat7/server.xml]操作创建
-将文件/etc/tomcat7/server.xml中的内容从af0c79更新为4BAD6
---/etc/tomcat7/server.xml 2014-01-27 16:06:08.473328323-0200
+++/tmp/chef-rendered-template20140127-22727-q4j93k 2014-01-27 16:08:18.492672575-0200
@@ -89,9 +89,9 @@
*模板[/etc/tomcat7/logging.properties]操作创建(最新)
*执行[创建Tomcat SSL证书]操作运行(最新)
配方:
*目录[/var/lib/tomcat7/webapps/teste]操作创建(最新)
*目录[/var/lib/tomcat7/webapps/teste/shared]操作创建(最新)
*ruby_block[EdwardApp-before_-deploy]操作runRecipe:application_java::default
*部署前的应用程序\u java\u java\u webapp[EdwardApp]操作(最新)
*部署前的应用程序\u java\u tomcat[EdwardApp]操作(最新)
-在部署之前执行ruby block EdwardApp
配方:
*目录[/var/lib/tomcat7/webapps/teste/shared/log]操作创建(最新)
*目录[/var/lib/tomcat7/webapps/teste/shared/pids]操作创建(最新)
*目录[/var/lib/tomcat7/webapps/teste/shared/system]操作创建(最新)
*模板[/var/lib/tomcat7/webapps/teste/shared/EdwardApp.xml]操作创建(最新)
*目录[/var/lib/tomcat7/webapps/ROOT]操作删除
-删除现有目录/var/lib/tomcat7/webapps/ROOT
*链接[/etc/tomcat7/Catalina/localhost/EdwardApp.xml]操作创建(最新)
*部署修订版[EdwardApp]操作部署
-清除旧下载(最新)
配方:tomcat::default
*服务[tomcat]操作重新启动
-重新启动服务[tomcat]

您可以发布Chef客户端运行的输出吗?
/var/lib/tomcat7/webapps/teste中有什么?好的。。。这还不能回答我的问题,你应该在“repository”属性中指定远程WAR文件的URL。在您的示例中,您似乎指定了一个目录URL。请参见文档中的Jenkins示例: