在Cloud Foundry上运行Grails 3.0

时间:2015-12-14 15:55:49

标签: grails groovy cloudfoundry grails-3.0 pivotal-cloud-foundry

希望你能帮帮我!

我正在尝试将基本的Grails 3.0应用程序部署到Cloud Foundry,但这不起作用。

这个应用程序是一个Web服务容器,我执行了这个命令:

./grails create-app myapiapp3--profile=web-api

当我在Windows 7机器上本地运行时,它可以正常工作。

我在应用设置中添加了 manifest.yml 文件:

---
applications:
- name: myapiapp3
  memory: 1024M
  host: my-api-app
  domain: cfapps.io
  buildpack: java_buildpack

使用此命令将应用程序部署到云代工厂:

cf push

但它显示以下错误:

enter image description here

也许我需要在这里做一些额外的工作,我没有使用Cloud代工经验,刚开始使用Grails 3.0。

有人可以帮我吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

根据docs,Java buildpack将Grails应用程序视为与Servlet应用程序相同,因此您需要首先从应用程序生成WAR文件。

使用以下方法完成: ./grailsw war

答案 1 :(得分:0)

另外,您还可以按照以下步骤将CF部署集成到gradle环境中:

  1. 使用cf在项目外部创建gradle.properties文件 凭据

    $ cat ~/.gradle/gradle.properties
    cfUsername=john@email.com
    cfPassword=secret
    
  2. 添加Gradle CloudFoundry插件(/build.gradle)

    buildscript {repositories {
      mavenCentral()
    }
    dependencies {
     classpath 'org.cloudfoundry:cf-gradle-plugin:1.1.2'
    }
    }
    apply plugin: 'cloudfoundry'
    
  3. 配置您的应用程序服务(/build.gradle)

    bootRun {
    jvmArgs('-Dspring.output.ansi.enabled=always')
    addResources = true
    }
    
    assets {
    minifyJs = true
    minifyCss = true
    }
    
    cloudfoundry {
    target = "https://api.run.pivotal.io"
    organization = "guides-grails-org"
    application = "grailsguidepws"
    space = "development"
    }
    
  4. 生成战争文件

    ./grailsw war

  5. 使用gradle部署

    ./gradlew cfPush

有关在Pivotal Web服务上部署Grails 3.0应用程序的更多详细信息,请参见:http://guides.grails.org/grails-deploy-pws/guide/index.html

希望有帮助!