4

Grails アプリケーションを Openshift にデプロイしようとしています。ローカルでビルドされた war ファイルを使用してアプリをデプロイしています。現在、データベース構成の DataSource.groovy ファイルで rhc-app-show コマンドによって指定された URL を使用しています。Openshift の環境変数 (例: $OPENSHIFT_MYSQL_DB_HOST) を使用しようとすると、クラッシュします。構成ファイルでそれらを使用する方法についてのアイデアや指針はありますか?

ありがとう。

4

3 に答える 3

5

私は OpenShift を使用したことがありませんが、Google が次の環境変数を示すFAQに誘導してくれました。

OPENSHIFT_MYSQL_DB_HOST
OPENSHIFT_MYSQL_DB_PASSWORD
OPENSHIFT_MYSQL_DB_USERNAME
OPENSHIFT_MYSQL_DB_URL
OPENSHIFT_MYSQL_DB_PORT

したがって、これは機能するように見えます:

production {
   dataSource {
      driverClassName = 'com.mysql.jdbc.Driver'
      dialect = org.hibernate.dialect.MySQL5InnoDBDialect

      String host = System.getenv('OPENSHIFT_MYSQL_DB_HOST')
      String port = System.getenv('OPENSHIFT_MYSQL_DB_PORT')
      String dbName = System.getenv('OPENSHIFT_APP_NAME')
      url = "jdbc:mysql://$host:$port/$dbName"
      username = System.getenv('OPENSHIFT_MYSQL_DB_USERNAME')
      password = System.getenv('OPENSHIFT_MYSQL_DB_PASSWORD')

      properties {
         ...
      }
   }
}

欠落しているビットはデータベース名です-それはあなたが利用できるものですか? の形式はわかりませんOPENSHIFT_MYSQL_DB_URLが、使用できるようですurl = "jdbc:${System.getenv('OPENSHIFT_MYSQL_DB_URL')}"

于 2013-01-16T12:03:35.460 に答える
0

Grails 3.0.11 では、ファイル application.yml

System.getenv が機能しないため、mysql でデータベースの URL 接続を手動で構成する必要がありました。ドキュメントhttps://developers.openshift.com/en/managing-port-forwarding.htmlのコマンドを使用してください。

dataSource:
        dbCreate: update
        url : jdbc:mysql://thisIsTheUrlGetWithPort-ForwardCommandAndThePort:48381/server?verifyServerCertificate=false&autoReconnect=true&useSSL=false&requireSSL=false
        driverClassName: com.mysql.jdbc.Driver
        dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        username : admin9CzsS #this is a username example
        password : RR7y9uKw3t #this is a password example
        properties:
            jmxEnabled: true
            initialSize: 5
            maxActive: 50
            minIdle: 5
            maxIdle: 25
            maxWait: 10000
            maxAge: 600000
            timeBetweenEvictionRunsMillis: 5000
            minEvictableIdleTimeMillis: 60000
            validationQuery: SELECT 1
            validationQueryTimeout: 3
            validationInterval: 15000
            testOnBorrow: true
            testWhileIdle: true
            testOnReturn: false
            jdbcInterceptors: ConnectionState
            defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED
于 2016-01-14T17:18:36.343 に答える