修改GitLab CI中的服务

时间:2016-07-29 00:02:59

标签: elasticsearch gitlab gitlab-ci

我正在尝试设置GitLab CI,并且我有一些针对elasticsearch运行的集成测试。我想使用官方docker镜像安装elasticsearch,所以:

services:
  - elasticsearch:2.2.2

但我想要mapper-attachments插件。我没有运气在before_script部分添加命令来安装mapper-attachments插件,因为elasticsearch文件似乎不在before_script部分运行的环境中。如何修改已安装到跑步者中的elasticsearch图像?

1 个答案:

答案 0 :(得分:0)

您应该创建自定义弹性搜索容器。

您可以调整以下Dockerfile:

FROM elasticsearch:2.3
MAINTAINER Your Name <you@example.com>

RUN /usr/share/elasticsearch/bin/plugin install analysis-phonetic

您可以在Docker Hub上找到此图片。

以下是详细步骤:

  • https://hub.docker.com注册并将Github帐户与其链接
  • 在Github上创建一个新的仓库,例如"elasticsearch-docker"
  • 创建一个继承FROM elasticsearch的Dockerfile并安装插件(see this example
  • 创建一个Automated build at Dockerhub表格这个github仓库(在我的情况下:https://hub.docker.com/r/tmaier/elasticsearch/
  • 在Docker Hub上配置构建设置
    • 我添加了两个标签。一个&#34;最新&#34;和一个匹配我正在使用的elasticsearch版本。
    • 我还链接了elasticsearch存储库,以便在有新的elasticsearch版本时重建我的
  • 查看Dock由Docker Hub成功构建
  • 在Gitlab CI上,将服务更改为指向新的Docker镜像。在我的示例中,我将使用tmaier/elasticsearch:latest
  • 查看传递的集成测试