54 lines
1.8 KiB
YAML
54 lines
1.8 KiB
YAML
language: minimal
|
|
services: docker
|
|
|
|
env:
|
|
- DOCKER_COMPOSE_VERSION=1.20.1
|
|
|
|
before_install:
|
|
- sudo apt-get update
|
|
- sudo apt-get install -y expect jq
|
|
|
|
install:
|
|
# Install Docker Compose
|
|
- curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o "$HOME/bin/docker-compose"
|
|
- chmod +x "$HOME/bin/docker-compose"
|
|
- docker-compose --version
|
|
|
|
before_script:
|
|
# Build images
|
|
- docker-compose build
|
|
|
|
# Use built-in users with passwords set by 'elasticsearch-setup-passwords.exp'
|
|
- sed -i -e 's/\(elasticsearch.username:\) elastic/\1 kibana/g' -e 's/\(elasticsearch.password:\) changeme/\1 testpasswd/g' kibana/config/kibana.yml
|
|
- sed -i -e 's/\(xpack.monitoring.elasticsearch.username:\) elastic/\1 logstash_system/g' -e 's/\(xpack.monitoring.elasticsearch.password:\) changeme/\1 testpasswd/g' logstash/config/logstash.yml
|
|
- sed -i 's/\(password =>\) "changeme"/\1 "testpasswd"/g' logstash/pipeline/logstash.conf
|
|
|
|
script:
|
|
# Compose
|
|
- docker-compose up -d elasticsearch
|
|
- sleep 30
|
|
- .travis/elasticsearch-setup-passwords.exp
|
|
- docker-compose up -d
|
|
- .travis/run-tests.sh
|
|
- docker-compose ps
|
|
- docker-compose logs elasticsearch
|
|
- docker-compose logs kibana
|
|
- docker-compose logs logstash
|
|
- docker-compose down -v
|
|
|
|
# Swarm
|
|
- docker swarm init
|
|
- docker stack deploy -c ./docker-stack.yml elk
|
|
- docker service scale elk_kibana=0 --detach=false
|
|
- docker service scale elk_logstash=0 --detach=false
|
|
- sleep 40
|
|
- .travis/elasticsearch-setup-passwords.exp swarm
|
|
- docker service scale elk_kibana=1 --detach=false
|
|
- docker service scale elk_logstash=1 --detach=false
|
|
- .travis/run-tests.sh swarm
|
|
- docker stack services elk
|
|
- docker service logs elk_elasticsearch
|
|
- docker service logs elk_kibana
|
|
- docker service logs elk_logstash
|
|
- docker stack rm elk
|