mil*_*erf 3 elasticsearch gitlab-ci
我尝试通过添加以下内容在 gitlab -ci 中使用 elasticsearch 服务:
image: python:3.6
services:
- elasticsearch:2.4
Run Code Online (Sandbox Code Playgroud)
在我的 .gitlab-ci.yml
不幸的是,它似乎不起作用(我无法在http://127.0.0.1:9200/ 上拒绝连接)。任何的想法?
我还尝试使用以下命令启动 docker 映像:
test:
script:
- docker run -d elasticsearch
Run Code Online (Sandbox Code Playgroud)
但是docker
不在场...
ber*_*ing 15
对于 Elasticsearch 7,工作配置如下所示:
test-elasticsearch:
stage: test
services:
- name: "docker.elastic.co/elasticsearch/elasticsearch:7.10.1"
alias: "elasticsearch"
command: [ "bin/elasticsearch", "-Expack.security.enabled=false", "-Ediscovery.type=single-node" ]
script:
- curl "http://elasticsearch:9200/_cat/health"
Run Code Online (Sandbox Code Playgroud)
但是,您也可以查看是否有可用于您的运行时的嵌入式Elasticsearch,例如对于Java,有“testcontainers”: https: //www.testcontainers.org/modules/elasticsearch/。这样,开发人员就可以更轻松地在本地运行测试,因为他们不需要先担心启动 elasticsearch。
For those of you running rails apps using the searchkick gem, be sure to include the following in your gitlab.ci.yml
file in addition to your other configurations. As mentioned by previous commenters, the hostname needs to be changed and the ELASTICSEARCH_URL environment variable is how you set it.
services:
- elasticsearch:latest
variables:
ELASTICSEARCH_URL "http://elasticsearch:9200"
Run Code Online (Sandbox Code Playgroud)
如果你想使用官方的elasticsearch镜像,你应该可以将上面的更改为以下内容:
services:
- name: docker.elastic.co/elasticsearch/elasticsearch:5.6.0
alias: elasticsearch
variables:
ELASTICSEARCH_URL "http://elasticsearch:9200"
Run Code Online (Sandbox Code Playgroud)
小智 5
对于来这里寻找 elasticsearch 7.11 或更高版本的工作示例的人们:
elasticsearch 7.10.2 在配置文件中仍然有 Xmx 和 Xms,elasticsearch 7.11.0 没有。因此,要在 7.11 及更高版本中修复此问题,您需要 CI 文件如下所示:
services:
- name: docker.elastic.co/elasticsearch/elasticsearch:7.16.2
alias: elastic
command:
- /bin/bash
- -c
- echo -Xms256m >> /usr/share/elasticsearch/config/jvm.options && echo -Xmx256m >> /usr/share/elasticsearch/config/jvm.options && /usr/local/bin/docker-entrypoint.sh elasticsearch -Ediscovery.type=single-node
Run Code Online (Sandbox Code Playgroud)
如果没有这个,我的 kubernetes 就会杀死容器,因为它使用了太多内存。
答案是使用“elasticsearch”主机名。请参阅此处的主机名,具体取决于所使用的服务: https://docs.gitlab.com/ce/ci/docker/using_docker_images.html#accessing-the-services 谢谢@jawad
归档时间: |
|
查看次数: |
5714 次 |
最近记录: |