在Travis Xenial构建主机上运行Elasticsearch-7.0

时间:2019-05-02 11:32:10

标签: elasticsearch ubuntu-16.04 travis-ci

Travis-CI上的Xenial(Ubuntu 16.04)映像预装了Elasticsearch-5.5。我应该在 @IBAction func loginButton(_ sender: Any) { let storyboard = UIStoryboard(name: "Main", bundle: nil) let viewController = storyboard.instantiateViewController(withIdentifier: "MainTabBarController") self.window?.rootViewController = viewController } 中放入什么来针对Elasticsearch-7.0运行构建?

3 个答案:

答案 0 :(得分:2)

对@kthy答案的一个小补充使我绊了一下。您需要从服务中删除- elasticsearch :. travis.yml中的定义,否则无论您在before_install中输入什么内容,默认服务都会覆盖它!

services:
  - elasticsearch

删除^^,然后您可以按照他概述的步骤进行操作,一切都应该顺利进行。

答案 1 :(得分:2)

如果您要等待弹性搜索开始(可能会长于或短于10秒),请用以下内容替换sleep 10

  host="localhost:9200"
  response=""
  attempt=0

  until [ "$response" = "200" ]; do
      if [ $attempt -ge 25 ]; then
        echo "FAILED. Elasticsearch not responding after $attempt tries."
        exit 1
      fi
      echo "Contacting Elasticsearch on ${host}. Try number ${attempt}"
      response=$(curl --write-out %{http_code} --silent --output /dev/null "$host")

      sleep 1
      attempt=$[$attempt+1]
  done

答案 2 :(得分:0)

将这些命令添加到您的.travis.yml步骤:

before_install

- curl -s -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.1-amd64.deb - sudo dpkg -i --force-confnew elasticsearch-7.0.1-amd64.deb - sudo sed -i.old 's/-Xms1g/-Xms128m/' /etc/elasticsearch/jvm.options - sudo sed -i.old 's/-Xmx1g/-Xmx128m/' /etc/elasticsearch/jvm.options - echo -e '-XX:+DisableExplicitGC\n-Djdk.io.permissionsUseCanonicalPath=true\n-Dlog4j.skipJansi=true\n-server\n' | sudo tee -a /etc/elasticsearch/jvm.options - sudo chown -R elasticsearch:elasticsearch /etc/default/elasticsearch - sudo systemctl start elasticsearch 所做的更改是为了模仿Elasticsearch-5.5的现有配置,我认为Travis偷窥者实际上已经在考虑过。

根据Travis docs,您还应该将此行添加到jvm.options步骤:

before_script

这是为了确保Elasticsearch已启动并正在运行,但我没有检查它是否确实有必要。