diff --git a/.travis.yml b/.travis.yml index e8a6607..fae226a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,15 +9,31 @@ services: # Build the app and a docker image script: -- docker build -t ${TRAVIS_COMMIT} . +- travis_fold start docker_build +- docker build -t ${TRAVIS_COMMIT} -t killrvideo-nodejs-local . +- travis_fold end docker_build +- travis_fold start docker_dependencies_up +- docker-compose -f docker-compose.ci.yml up -d +- sleep 300 +- docker-compose -f docker-compose.ci.yml logs dse-config +- travis_fold end docker_dependencies_up +- docker run --network killrvideo-nodejs_default killrvideo/killrvideo-integration-tests # If successful, see if we need to publish also after_success: -- test -z $TRAVIS_TAG && travis_terminate 0 +- "[ \"$TRAVIS_EVENT_TYPE\" = \"cron\" ] && { echo \"Ignore nightly builds\"; travis_terminate 0; }" +- test -z $TRAVIS_TAG && { echo "Ignore non-tagged builds"; travis_terminate 0; } - docker tag ${TRAVIS_COMMIT} killrvideo/killrvideo-nodejs:${TRAVIS_TAG} - echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - docker push killrvideo/killrvideo-nodejs:${TRAVIS_TAG} -- "[ \"$(git tag --sort=-v:refname | grep -P \"^\\d+.\\d+.\\d+$\" | head -n1)\" == \"$TRAVIS_TAG\" ] && { docker tag ${TRAVIS_COMMIT} killrvideo/killrvideo-nodejs:latest; docker push killrvideo/killrvideo-nodejs:latest; }" +- "[ \"$(git tag --sort=-v:refname | grep -P \"^\\d+.\\d+.\\d+$\" | head -n1)\" == \"$TRAVIS_TAG\" ] && { docker tag ${TRAVIS_COMMIT} killrvideo/killrvideo-nodejs:latest; docker push killrvideo/killrvideo-nodejs:latest; }" +- "[ \"$(git tag --sort=-v:refname | grep -P \"^\\d+.\\d+.\\d+$\" | head -n1)\" == \"$TRAVIS_TAG\" ] && { docker tag ${TRAVIS_COMMIT} killrvideo/killrvideo-nodejs:$(echo $TRAVIS_TAG | cut -d'.' -f 1); docker push killrvideo/killrvideo-nodejs:$(echo $TRAVIS_TAG | cut -d'.' -f 1); }" +- "[ \"$(git tag --sort=-v:refname | grep -P \"^\\d+.\\d+.\\d+$\" | head -n1)\" == \"$TRAVIS_TAG\" ] && { docker tag ${TRAVIS_COMMIT} killrvideo/killrvideo-nodejs:$(echo $TRAVIS_TAG | cut -d'.' -f 1).$(echo $TRAVIS_TAG | cut -d'.' -f 2); docker push killrvideo/killrvideo-nodejs:$(echo $TRAVIS_TAG | cut -d'.' -f 1).$(echo $TRAVIS_TAG | cut -d'.' -f 2); }" + +after_failure: +- travis_fold start logs +- docker-compose -f docker-compose.ci.yml logs dse-config backend +- travis_fold end logs env: global: @@ -30,4 +46,3 @@ notifications: slack: rooms: secure: Eh/HI7+7KAUlzFpl9ViMUpExt4YXXWa5rEcwW3h/zIAo/UVghstuoCnk/CWbY/4SyrBeFO7iGcAc396GrBHbkJA25Iz+z3M7VYI/v22di1P8DeWguLNxbe1/wwCAbneYlxLbpPmkOKuFVho5NWDF1QgGszWONRM6DyiFiPlMF84nUcZEHP9exRELGqY64Cg3gfaKMXBn+QSZ5dzNH5cgVrWsGmPSeVBSTWZnZUYHWFKTbgnkY0bs1aHQefRAvl2CCZY/eFPJtcM9oIyIOiuX0NVz7h971tFJdJ9zpTesmaSVOjhCT00mUEJnPPI+zFJxLyIiXHjwROZXzCZL3J21DuWAb3+3ndVe6f47ao/4VNR/Q1TNJGIw5ewkA7RHHW9fegF27OzF+ddfd88ExFvBh1PvJXlAO3c050/2dIqDw7ovhIZWHFchUjSaoV6o5mkgv8/rEu76o3cpdAa78kgZ2tqzDQSquIY55eyHY1vDRusLYii5QZkXzblN9Hm/VvWuM//X99XtoFfnloeLcARWu6ze0fnsBeexK6iQMuUqseLZTjF3tnFqVe2cArA7Swwkh77fRWT3jm35FX1SHaT/kecsMiPY/E7sBfFGHjHVqSfEwMYXhJ6O3aur0UssB+UpuzWu+yBCkf7TienwzimXMrvOGnE++dSOxx6mXRaJBhI= - diff --git a/docker-compose.ci.yml b/docker-compose.ci.yml new file mode 100644 index 0000000..e0a18a8 --- /dev/null +++ b/docker-compose.ci.yml @@ -0,0 +1,26 @@ +version: '3' +services: + backend: + image: killrvideo-nodejs-local + depends_on: + - dse + env_file: ./killrvideo.env + environment: + NODE_ENV: development + + dse: + image: datastax/dse-server:6.7.0 + command: [ -s -g ] + env_file: ./killrvideo.env + environment: + DS_LICENSE: accept + cap_add: + - IPC_LOCK + ulimits: + memlock: -1 + + dse-config: + image: killrvideo/killrvideo-dse-config:3 + env_file: ./killrvideo.env + depends_on: + - dse diff --git a/docker-compose.yaml b/docker-compose.yml similarity index 87% rename from docker-compose.yaml rename to docker-compose.yml index 25c56fe..10831c0 100644 --- a/docker-compose.yaml +++ b/docker-compose.yml @@ -30,7 +30,7 @@ services: # Frontend web: - image: killrvideo/killrvideo-web:3.0.0-rc1 + image: killrvideo/killrvideo-web:3 env_file: ./killrvideo.env ports: - "3000:3000" @@ -39,14 +39,14 @@ services: # DSE Configurator to setup DSE dse-config: - image: killrvideo/killrvideo-dse-config:3.0.0-rc1 + image: killrvideo/killrvideo-dse-config:3 env_file: ./killrvideo.env depends_on: - dse # Sample Data Generator generator: - image: killrvideo/killrvideo-generator:3.0.0-rc4 + image: killrvideo/killrvideo-generator:3 env_file: ./killrvideo.env depends_on: - dse diff --git a/killrvideo.env b/killrvideo.env index 317c6ef..9adc738 100644 --- a/killrvideo.env +++ b/killrvideo.env @@ -1,4 +1,4 @@ KILLRVIDEO_DSE_USERNAME=cassandra KILLRVIDEO_DSE_PASSWORD=cassandra KILLRVIDEO_LOGGING_LEVEL=debug -DS_LICENSE: accept +DS_LICENSE=accept