elasticsearch 在Travis Xenial构建主机上运行Elasticsearch-7.0
Xenial(Ubuntu16.04)图像预装了Elasticsearch-5.5。我应该在我的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
.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在回答中提到的。