Example Elasicsearch Configuration
This guide covers configuring continuous integration pipelines for projects that have a Elasticsearch dependency. If you’re new to Drone please read our Tutorial and build configuration guides first.
Basic Example
In the below example we demonstrate a pipeline that launches a Elasticsearch service container. The elastic server will be available at database:9200
, where the hostname matches the service container name.
1 ---
2 kind: pipeline
3 name: default
4
5 platform:
6 os: linux
7 arch: amd64
8
9 steps:
10 - name: test
11 image: alpine:3.8
12 commands:
13 - apk add curl
14 - sleep 45
15 - curl http://database:9200
16
17 services:
18 - name: database
19 image: elasticsearch:5-alpine
20
21 ...
Common Problems
Initialization
If you are unable to connect to the Elastic container please make sure you are giving the instance adequate time to initialize and begin accepting connections.
1 kind: pipeline
2 name: default
3
4 steps:
5 - name: test
6 image: alpine:3.8
7 commands:
8 - apk add curl
9 - sleep 45
10 - curl http://database:9200
Incorrect Hostname
You cannot use 127.0.0.1
or localhost
to connect with the database. If you are unable to connect to the database please verify you are using the correct hostname, corresponding with the name of the container.
Bad:
steps:
- name: test
image: alpine:3.8
commands:
- apk add curl
- sleep 45
- curl http://localhost:9200
services:
- name: database
image: elasticsearch:5-alpine
Good:
steps:
- name: test
image: alpine:3.8
commands:
- apk add curl
- sleep 45
- curl http://database:9200
services:
- name: database
image: elasticsearch:5-alpine