Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/audio/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 在Travis Xenial构建主机上运行Elasticsearch-7.0_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Ubuntu 16.04_Travis Ci - Fatal编程技术网 elasticsearch 在Travis Xenial构建主机上运行Elasticsearch-7.0,elasticsearch,ubuntu-16.04,travis-ci,elasticsearch,Ubuntu 16.04,Travis Ci" /> elasticsearch 在Travis Xenial构建主机上运行Elasticsearch-7.0,elasticsearch,ubuntu-16.04,travis-ci,elasticsearch,Ubuntu 16.04,Travis Ci" />

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

elasticsearch 在Travis Xenial构建主机上运行Elasticsearch-7.0,elasticsearch,ubuntu-16.04,travis-ci,elasticsearch,Ubuntu 16.04,Travis Ci,Xenial(Ubuntu16.04)图像预装了Elasticsearch-5.5。我应该在我的.travis.yml中添加什么来运行我的Elasticsearch-7.0版本?在安装之前将这些命令添加到您的步骤: - curl -s -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.1-amd64.deb - sudo dpkg -i --force-confnew elasticsearch-7

Xenial(Ubuntu16.04)图像预装了Elasticsearch-5.5。我应该在我的
.travis.yml
中添加什么来运行我的Elasticsearch-7.0版本?

在安装之前将这些命令添加到您的
步骤:

- 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
- sleep 10
jvm.options
的更改是为了模拟Elasticsearch-5.5的现有配置,我假设Travis peeps已经考虑过了

根据,您还应在脚本之前的
步骤中添加此行:

- 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
- sleep 10

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

对@kthy answer的一个小补充让我有点结巴。您需要从您的服务中删除
-elasticsearch
:在.travis.yml中的定义,否则无论您在安装
之前在
中输入什么,默认服务都将覆盖它

services:
  - elasticsearch

删除^^^,然后您可以继续执行他概述的步骤,所有步骤都应能顺利进行。

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

host=“localhost:9200”
response=“”
尝试=0
直至[“$response”=“200”];做
如果[$尝试-通用电气25];然后
echo“失败。Elasticsearch在$trument尝试后没有响应。”
出口1
fi
echo“联系${host}上的Elasticsearch。尝试编号${trunt}”
response=$(curl--write out%{http_code}--silent--output/dev/null“$host”)
睡眠1
尝试=$[$trunt+1]
完成

这是有意让第3行和第4行重复吗?它们不是重复的。是的,nvm发现了不同的小细节。即使没有这两条线,它也能工作。谢谢你,它帮助了我。顺便说一句,
sleep 10
只是为了防止您在elastic准备好之前启动测试,所以为了安全起见,请给一些时间启动服务器。工作起来很有魅力!同时删除服务下的
elasticsearch
条目,如@musicalmindz在回答中提到的。