在jps中使用postgres9时,为什么Jelastic环境无法正常工作?

时间:2018-11-03 04:15:36

标签: postgresql scripting jelastic

我已经使用文档https://docs.jelastic.com/application-manifest创建了一个jps文件。

但是没有使用PostgreSQL的明确文档。

Jelastic JPS节点:

{
    "nodeType": "postgres9",
    "restart": false,
    "database": {
        "name": "xxxx",
        "user": "xxx",
        "dump": "xxx.sql"
    }
}

配置环境时出错,

"data": {
    "result": 11005,
    "source": "marketplace",
    "error": "database query error: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=10.101.3.225)(port=3306)(type=master) : Connection refused (Connection refused)"
}

我在此处提供了完整的JPS文件内容。在这种情况下,导入数据库时​​出现错误,其他在configs对象中运行良好。

{
    "jpsVersion": "0.1",
    "jpsType": "install",
    "application": {
        "id": "xxx",
        "name": "xxx",
        "version": "0.0.1",
        "logo": "http://example.com/img/logo.png",
        "type": "php",
        "homepage": "http://example.com/",
        "description": {
            "en": "xxx"
        },
        "env": {
            "topology": {
                "ha": false,
                "engine": "php7.2",
                "ssl": false,
                "nodes": [
                    {
                        "extip": false,
                        "count": 1,
                        "cloudlets": 16,
                        "nodeType": "nginxphp"
                    },
                    {
                        "extip": false,
                        "count": 1,
                        "cloudlets": 16,
                        "nodeType": "postgres9"
                    }
                ]
            },
            "upload": [
                {
                   "nodeType": "nginxphp",
                   "sourcePath": "https://example.com/xxx.conf",
                   "destPath": "${SERVER_CONF_D}/xxx.conf"
                }
            ],
            "deployments": [
                {
                    "archive": "https://example.com/xxx.zip",
                    "name": "xxx.zip",
                    "context": "ROOT"
                }
            ],
            "configs": [
                {
                    "nodeType": "nginxphp",
                    "restart": true,
                    "path": "${SERVER_CONF_D}/xxx.conf",
                    "replacements": [
                        {
                           "pattern":"/usr/share/nginx/html",
                           "replacement":"${SERVER_WEBROOT}"
                        }
                    ]
                },
                {
                    "nodeType": "postgres9",
                    "restart": false,
                    "database": {
                        "name": "xxx",
                        "user": "xxx",
                        "dump": "https://example.com/xxx.sql"
                    }
                }, {
                    "restart": false,
                    "nodeType": "nginxphp",
                    "path": "${SERVER_WEBROOT}/ROOT/server/php/config.inc.php",
                    "replacements": [{
                            "replacement": "${nodes.postgres9.address}",
                            "pattern": "localhost"
                        }, {
                            "replacement": "${nodes.postgres9.database.password}",
                            "pattern": "xxx"
                        }
                    ]
                }
            ]
        },
        "success": {
            "text": "Installation completed. username: admin and password: xxx"
        }
    }
}

1 个答案:

答案 0 :(得分:1)

由于到目前为止,Postgres(The action is executed only for mysql5, mariadb, and mariadb10 containers)的操作均已禁用,因此我们根据最近的更新改进了您的清单。之所以使用Yaml是因为它更易于阅读和理解:

<input type="text" name="field" autocomplete="nope">

请注意,您可以在jpsVersion: 0.1 jpsType: install name: xxx version: 0.0.1 logo: http://example.com/img/logo.png engine: php7.2 nodes: - cloudlets: 16 nodeType: nginxphp - cloudlets: 16 nodeType: postgres9 onInstall: - upload [nginxphp]: sourcePath: https://example.com/xxx.conf destPath: ${SERVER_CONF_D}/xxx.conf - deploy: archive: https://example.com/xxx.zip name: xxx.zip context: ROOT - replaceInFile [nginxphp]: path: ${SERVER_CONF_D}/xxx.conf replacements: - pattern: /usr/share/nginx/html replacement: ${SERVER_WEBROOT} - restartNodes [nginxphp] - replaceInFile [nginxphp]: path: ${SERVER_WEBROOT}/ROOT/server/php/config.inc.php replacements: - pattern: localhost replacement: ${nodes.postgres9.address} - pattern: xxx replacement: ${nodes.postgres9.password} - cmd [postgres9]: printf "PGPASSWORD=${nodes.postgres9.password};\nexport PGPASSWORD;\npsql postgres webadmin -c \"CREATE DATABASE Jelastic;\"\n" > /tmp/createDb - cmd [postgres9]: chmod +x /tmp/createDb && /tmp/createDb success: Installation completed. username admin and password xxx 标签中调试所有操作