Example CouchDB Configuration

This guide covers configuring continuous integration pipelines for projects that have a CouchDB 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 CouchDB service container. The database server will be available at database:5984, where the hostname matches the service container name.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
---
kind: pipeline
name: default

platform:
  os: linux
  arch: amd64

steps:
- name: test
  image: couchdb:2.2
  commands:
  - sleep 15
  - curl http://database:5984

services:
- name: database
  image: couchdb:2.2

...

Common Problems

Initialization

If you are unable to connect to the CouchDB container please make sure you are giving the instance adequate time to initialize and begin accepting connections.

1
2
3
4
5
6
7
8
9
kind: pipeline
name: default

steps:
- name: test
  image: coucdb:2.2
  commands:
  - sleep 15
  - curl http://database:5984

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: couchdb:2.2
  commands:
  - sleep 15
  - curl http://localhost:5984

services:
- name: database
  image: couchdb:2.2

Good:

steps:
- name: test
  image: couchdb:2.2
  commands:
  - sleep 15
  - curl http://database:5984

services:
- name: database
  image: couchdb:2.2