From e5b89dc1c6e52511d5260b19ef9d66be00707baa Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 23 Nov 2018 16:08:02 +0100 Subject: [PATCH 01/13] Added travis configuration --- .travis.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..d9c22693f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,45 @@ +language: node_js +node_js: + - "10" +cache: + yarn: true + directories: + - node_modules +services: + # we need docker for building the image and mongo for testing + - docker +# install: + # nothing! + +jobs: + include: + - stage: Prepare Cache + script: true + - stage: Build and Test + script: + - docker build -t humanconnection/backend . + - script: + - yarn install --frozen-lockfile --non-interactive --ignore-engines + - yarn global add codacy-coverage + - yarn run ci + - cat ./coverage/lcov.info | codacy-coverage + +after_success: + - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh + - chmod +x send.sh + - ./send.sh success $WEBHOOK_URL + - if [ $TRAVIS_BRANCH == "master" ] && [ $TRAVIS_EVENT_TYPE == "push" ]; then + docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; + docker tag humanconnection/backend humanconnection/backend:latest; + docker push humanconnection/backend:alpha; + fi +# - if [ $TRAVIS_BRANCH == "develop" ] && [ $TRAVIS_EVENT_TYPE == "push" ]; then +# docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; +# docker tag humanconnection/backend humanconnection/backend:latest; +# docker push humanconnection/backend:edge; +# fi + +after_failure: + - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh + - chmod +x send.sh + - ./send.sh failure $WEBHOOK_URL From 2f67cfc741ec9be26057d23170e379357319bdee Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 23 Nov 2018 16:09:59 +0100 Subject: [PATCH 02/13] fixed tag --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index d9c22693f..f663eba38 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,12 +31,12 @@ after_success: - if [ $TRAVIS_BRANCH == "master" ] && [ $TRAVIS_EVENT_TYPE == "push" ]; then docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; docker tag humanconnection/backend humanconnection/backend:latest; - docker push humanconnection/backend:alpha; + docker push humanconnection/backend:latest; fi # - if [ $TRAVIS_BRANCH == "develop" ] && [ $TRAVIS_EVENT_TYPE == "push" ]; then # docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; # docker tag humanconnection/backend humanconnection/backend:latest; -# docker push humanconnection/backend:edge; +# docker push humanconnection/backend:latest; # fi after_failure: From d74aa6dd027be73d8782d08d4adfb781f20a0d31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=A4fer?= Date: Fri, 23 Nov 2018 20:45:17 +0100 Subject: [PATCH 03/13] Build and run docker container on Travis The docker container environment should be the single source of truth --- .travis.yml | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index f663eba38..05142b9ea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,18 +11,10 @@ services: # install: # nothing! -jobs: - include: - - stage: Prepare Cache - script: true - - stage: Build and Test - script: - - docker build -t humanconnection/backend . - - script: - - yarn install --frozen-lockfile --non-interactive --ignore-engines - - yarn global add codacy-coverage - - yarn run ci - - cat ./coverage/lcov.info | codacy-coverage +before_script: + - docker build -t humanconnection/backend . +script: + - docker run humanconnection/backend yarn run db:seed after_success: - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh @@ -33,11 +25,6 @@ after_success: docker tag humanconnection/backend humanconnection/backend:latest; docker push humanconnection/backend:latest; fi -# - if [ $TRAVIS_BRANCH == "develop" ] && [ $TRAVIS_EVENT_TYPE == "push" ]; then -# docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; -# docker tag humanconnection/backend humanconnection/backend:latest; -# docker push humanconnection/backend:latest; -# fi after_failure: - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh From 8bb90e52a6c5fa2acc3c207f8c154611d7f920e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=A4fer?= Date: Fri, 23 Nov 2018 20:49:09 +0100 Subject: [PATCH 04/13] Copy .env.template in Dockerfile to seed on travis --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 5e3f8c650..1b90de2b1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,5 +14,6 @@ COPY yarn.lock . RUN yarn install --production=false --frozen-lockfile --non-interactive COPY . . +COPY .env.template .env CMD ["yarn", "run", "start"] From 89d30c01a01cb7ad72eb2ef3e3d7fd1c621c3124 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Sat, 24 Nov 2018 12:10:50 +0100 Subject: [PATCH 05/13] unified travis.yml and prefixed docker image --- .travis.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 05142b9ea..6841b22bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,20 +1,20 @@ language: node_js node_js: - "10" +services: + - docker cache: yarn: true directories: - node_modules -services: - # we need docker for building the image and mongo for testing - - docker # install: # nothing! before_script: - - docker build -t humanconnection/backend . + - docker build --build-arg BUILD_COMMIT=$TRAVIS_COMMIT -t humanconnection/nitro-backend . + script: - - docker run humanconnection/backend yarn run db:seed + - docker run humanconnection/nitro-backend yarn run db:seed after_success: - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh @@ -22,8 +22,8 @@ after_success: - ./send.sh success $WEBHOOK_URL - if [ $TRAVIS_BRANCH == "master" ] && [ $TRAVIS_EVENT_TYPE == "push" ]; then docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; - docker tag humanconnection/backend humanconnection/backend:latest; - docker push humanconnection/backend:latest; + docker tag humanconnection/nitro-backend humanconnection/nitro-backend:latest; + docker push humanconnection/nitro-backend:latest; fi after_failure: From 80e036c0fbef2d81dd5c04d21c32e6c305069c51 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Sat, 24 Nov 2018 12:38:51 +0100 Subject: [PATCH 06/13] updated travis build --- .travis.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6841b22bb..e451f968e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,8 +7,6 @@ cache: yarn: true directories: - node_modules -# install: - # nothing! before_script: - docker build --build-arg BUILD_COMMIT=$TRAVIS_COMMIT -t humanconnection/nitro-backend . @@ -17,9 +15,9 @@ script: - docker run humanconnection/nitro-backend yarn run db:seed after_success: - - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh - - chmod +x send.sh - - ./send.sh success $WEBHOOK_URL + # - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh + # - chmod +x send.sh + # - ./send.sh success $WEBHOOK_URL - if [ $TRAVIS_BRANCH == "master" ] && [ $TRAVIS_EVENT_TYPE == "push" ]; then docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"; docker tag humanconnection/nitro-backend humanconnection/nitro-backend:latest; From e2f7bc516c071d768b5ec601de07890334ee099f Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Sat, 24 Nov 2018 12:58:13 +0100 Subject: [PATCH 07/13] improved docker file --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1b90de2b1..45d68e8b6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,14 @@ FROM node:10-alpine -LABEL Description="Server part of the social network Human Connection" Vendor="Human-Connection gGmbH" Version="0.0.1" Maintainer="Human-Connection gGmbH (developer@human-connection.org)" +LABEL Description="Backend of the Social Network Human-Connection.org" Vendor="Human-Connection gGmbH" Version="0.0.1" Maintainer="Human-Connection gGmbH (developer@human-connection.org)" -# expose the app port +# Expose the app port EXPOSE 4000 -ARG WORKDIR=/backend - +ARG WORKDIR=/nitro-backend RUN mkdir -p $WORKDIR WORKDIR $WORKDIR +# Install the Application Dependencies COPY package.json . COPY yarn.lock . RUN yarn install --production=false --frozen-lockfile --non-interactive From e218773dd5eccbd278f1b931864144af22f2eec8 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Sun, 25 Nov 2018 14:23:52 +0100 Subject: [PATCH 08/13] fixed build by using install instead before_script --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e451f968e..62f05c96a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ cache: directories: - node_modules -before_script: +install: - docker build --build-arg BUILD_COMMIT=$TRAVIS_COMMIT -t humanconnection/nitro-backend . script: From 834aae1ed293c108be5c267534561afcf09a5faf Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Thu, 29 Nov 2018 19:45:35 +0100 Subject: [PATCH 09/13] removed seeding on build for now --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 62f05c96a..1f4076178 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ install: - docker build --build-arg BUILD_COMMIT=$TRAVIS_COMMIT -t humanconnection/nitro-backend . script: - - docker run humanconnection/nitro-backend yarn run db:seed + # - docker run humanconnection/nitro-backend yarn run db:seed after_success: # - wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh From 86662eb56c18a28379c81ed730243b480f65ea64 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 30 Nov 2018 09:13:13 +0100 Subject: [PATCH 10/13] do not abort on test command --- .travis.yml | 1 + package.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1f4076178..e9a1878ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ install: - docker build --build-arg BUILD_COMMIT=$TRAVIS_COMMIT -t humanconnection/nitro-backend . script: + # TODO: re-add when testing is setup properly # - docker run humanconnection/nitro-backend yarn run db:seed after_success: diff --git a/package.json b/package.json index 268f2e1a7..8d5705641 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "GraphQL Backend for Human Connection", "main": "src/index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", + "test": "echo \"Error: no test specified\" && exit 0", "start": "./node_modules/.bin/nodemon --exec babel-node src/index.js", "start:debug": "./node_modules/.bin/nodemon --exec babel-node --inspect=0.0.0.0:9229 src/index.js", "db:seed": "concurrently --kill-others --success first 'cross-env GRAPHQL_URI=http://localhost:4001 PERMISSIONS=disabled GRAPHQL_PORT=4001 yarn run start' 'wait-on tcp:4001 && cross-env GRAPHQL_URI=http://localhost:4001 ./node_modules/.bin/babel-node src/seed/seed-db.js'" From 2fb239de7cd746a3dfb7df855bd406b0a336e530 Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 30 Nov 2018 09:34:31 +0100 Subject: [PATCH 11/13] fixed docker-compose to use humanconnection/nitro-backend:latest --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index af63a3b56..71ea7355c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: backend: - image: humanconnection/backend:latest + image: humanconnection/nitro-backend:latest build: . networks: - hc-network From 27a9410089ecb4b8f2878188bdd0f7f4837efd5c Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 30 Nov 2018 09:36:03 +0100 Subject: [PATCH 12/13] use humanconnection/nitro-backend --- kubernetes/backend-deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/backend-deployment.yaml b/kubernetes/backend-deployment.yaml index 95613f3ac..f75920f0d 100644 --- a/kubernetes/backend-deployment.yaml +++ b/kubernetes/backend-deployment.yaml @@ -31,7 +31,7 @@ spec: value: "false" - name: NEO4J_URI value: bolt://neo4j:7687 - image: humanconnection/backend:latest + image: humanconnection/nitro-backend:latest name: backend ports: - containerPort: 4000 From 38c6323d1f33fcd5a22e141dd5937fa4a6a89b2d Mon Sep 17 00:00:00 2001 From: Grzegorz Leoniec Date: Fri, 30 Nov 2018 09:38:20 +0100 Subject: [PATCH 13/13] fixed vendor name --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 45d68e8b6..269b74ea5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM node:10-alpine -LABEL Description="Backend of the Social Network Human-Connection.org" Vendor="Human-Connection gGmbH" Version="0.0.1" Maintainer="Human-Connection gGmbH (developer@human-connection.org)" +LABEL Description="Backend of the Social Network Human-Connection.org" Vendor="Human Connection gGmbH" Version="0.0.1" Maintainer="Human Connection gGmbH (developer@human-connection.org)" # Expose the app port EXPOSE 4000