【问题标题】:Start ElasticSearch in Wercker在 Wercker 中启动 ElasticSearch
【发布时间】:2018-12-03 16:04:10
【问题描述】:

我们有一个 Ruby 项目,我们在其中使用 Wercker 作为持续集成。

我们需要启动一个 Elastic Search 服务来运行一些集成测试。

在本地,我们将 Elastic 配置添加到 docker 文件中,一切运行顺利:

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
    ports:
      - "9200:9200"
      - "9300:9300"

在 Wercker.yml 文件中,我们尝试了几件事,但无法访问弹性服务。 我们的 wercker.yml 包含:

services:
  - id: elasticsearch:6.5.1
    env:
      ports:
        - "9200:9200"
        - "9300:9300"

在我们的测试中尝试使用 Elastic 时,我们遇到了这个错误之王:

Errno::EADDRNOTAVAIL: Failed to open TCP connection to localhost:9200 (Cannot assign requested address - connect(2) for "localhost" port 9200)

你知道我们缺少什么吗?

【问题讨论】:

    标签: ruby docker elasticsearch searchkick wercker


    【解决方案1】:

    所以,我们找到了解决方案:

    在 wercker.yml 中

    services:
      - id: elasticsearch:6.5.1
        cmd: "/elasticsearch/bin/elasticsearch -Ediscovery.type=single-node"
    

    我们添加了一个检查连接的步骤:

    build:
      steps:
        - script:
            name: Test elasticsearch connection
            code: curl http://elasticsearch:9200
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-29
      相关资源
      最近更新 更多