运行 Cloud Foundry 上的 Grails 3.0

Running Grails 3.0 on Cloud Foundry

希望你能帮助我!

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

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

./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

并使用此命令将应用程序部署到 Cloud Foundry:

cf push

但它显示了以下错误:

也许我需要在这里做一些额外的事情,我没有使用 Cloud foundry 的经验并且刚开始使用 Grails 3.0。

有人可以帮帮我吗?

谢谢。

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

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

此外,您可以按照以下步骤将 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. 生成一个war文件

    ./grailsw war

  5. 部署 gradle

    ./gradlew cfPush

可以在此处找到有关在 Pivotal Web 服务上部署 Grails 3.0 应用程序的更多详细信息:http://guides.grails.org/grails-deploy-pws/guide/index.html

希望对您有所帮助!!