From 601fe02c7b14e57dfc7e210e1229d9d046c770a5 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Mon, 3 Dec 2018 19:10:24 -0700 Subject: [PATCH 01/25] wip: circle config --- .circleci/config.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..5c9d74e --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,10 @@ +version: 2 +jobs: + build: + machine: true + steps: + - checkout + # start proprietary DB using private Docker image + # with credentials stored in the UI + - run: | + make build From 401327c2e5c61f0d14dbf82bbd2d6bbe38ad7fc1 Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 3 Dec 2018 19:48:44 -0700 Subject: [PATCH 02/25] Make circleci local execute work locally --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5c9d74e..841334d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,10 +1,10 @@ version: 2 jobs: build: - machine: true + docker: + - image: circleci/ruby:2.1.10-node-browsers steps: - checkout - # start proprietary DB using private Docker image - # with credentials stored in the UI + - setup_remote_docker - run: | - make build + sudo make build From 3ce184f8814ccd77d13d06078c45d9c63efad161 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Mon, 3 Dec 2018 19:54:03 -0700 Subject: [PATCH 03/25] feat: filter branch --- .circleci/config.yml | 14 +++++++++++++- Makefile | 4 ++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 841334d..eac5112 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,4 +7,16 @@ jobs: - checkout - setup_remote_docker - run: | - sudo make build + sudo make compose-build +workflows: + version: 2 + build_and_deploy: + jobs: + - build + - deploy_prod: + requires: + - build + filters: + branches: + only: + - feat-circle diff --git a/Makefile b/Makefile index 8e9081b..8cef6d6 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,10 @@ CWBN_STAGE_REPO_URL = mmmanyfold/cfd:$(TAG) ELASTIC_SEARCH_IMAGE = docker.elastic.co/elasticsearch/elasticsearch:6.4.1 REDIS_IMAGE = redis:5.0.0-alpine +.PHONY: compose-build +compose-build: + @docker-compose build --no-cache + .PHONY: build build: @docker build --build-arg CWBN_AIRTABLE_API_KEY=$(CWBN_AIRTABLE_API_KEY) -t $(IMAGE) . From 8b6f4f90bc597c14dc4f80ebcd1e1b2a32a7876a Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 3 Dec 2018 20:03:53 -0700 Subject: [PATCH 04/25] Try not-sudo --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index eac5112..faec621 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ jobs: - checkout - setup_remote_docker - run: | - sudo make compose-build + make compose-build workflows: version: 2 build_and_deploy: From 2151e908c2ef603fc2bcb381a9e04e38b0b4a622 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Mon, 3 Dec 2018 20:11:46 -0700 Subject: [PATCH 05/25] feat: decode .env on the fly fly --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index faec621..b92a260 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,6 +6,8 @@ jobs: steps: - checkout - setup_remote_docker + # Base64 decode our config + - run: echo $CWB_ENV | base64 --decode >> .env - run: | make compose-build workflows: From 753f56606371c7ce9d4a1348d97216946bc2c940 Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 3 Dec 2018 20:20:11 -0700 Subject: [PATCH 06/25] Try to push docker image --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index faec621..f313a20 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,6 +8,7 @@ jobs: - setup_remote_docker - run: | make compose-build + docker push mmmanyfold/cfd:project_web:latest workflows: version: 2 build_and_deploy: From b48d52efc9dc07911d4a93c9d979c58e54fe0923 Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 3 Dec 2018 20:28:30 -0700 Subject: [PATCH 07/25] Remove latest --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1e97af7..6050680 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,7 +10,7 @@ jobs: - run: echo $CWB_ENV | base64 --decode >> .env - run: | make compose-build - docker push mmmanyfold/cfd:project_web:latest + docker push mmmanyfold/cfd:project_web workflows: version: 2 build_and_deploy: From e03a277ae6f07db5fc623d08a1cd2c5e94f79d33 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Mon, 3 Dec 2018 20:38:37 -0700 Subject: [PATCH 08/25] feat: docker-compose push --- .circleci/config.yml | 2 +- docker-compose.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6050680..9fb86cd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,7 +10,7 @@ jobs: - run: echo $CWB_ENV | base64 --decode >> .env - run: | make compose-build - docker push mmmanyfold/cfd:project_web + docker-compose push project_web:latest workflows: version: 2 build_and_deploy: diff --git a/docker-compose.yml b/docker-compose.yml index 20479a9..b7a6e5f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,7 @@ services: depends_on: - redis - elasticsearch + image: mmmanyfold/cfd redis: image: "redis:alpine" environment: From 87fa8c8ba9f08955cfc82f7ab801d1042206cc46 Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 3 Dec 2018 20:43:33 -0700 Subject: [PATCH 09/25] Tag correctly --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6050680..a442601 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,7 +10,7 @@ jobs: - run: echo $CWB_ENV | base64 --decode >> .env - run: | make compose-build - docker push mmmanyfold/cfd:project_web + docker push mmmanyfold/cfd:latest workflows: version: 2 build_and_deploy: From f6697cd77d6e7e8bc6ac3c3c056ab87418d6e3ce Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 18:50:18 -0700 Subject: [PATCH 10/25] chore: docker login --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index a442601..3b0dd9a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,6 +9,7 @@ jobs: # Base64 decode our config - run: echo $CWB_ENV | base64 --decode >> .env - run: | + echo $DOCKER_PASSWD | docker login -u $DOCKER_USERNANEM --password-stdin make compose-build docker push mmmanyfold/cfd:latest workflows: From 33a650925aeb867700fc73bf382def3d68f48a30 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 18:52:07 -0700 Subject: [PATCH 11/25] fix: typo --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3b0dd9a..8e1ac33 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ jobs: # Base64 decode our config - run: echo $CWB_ENV | base64 --decode >> .env - run: | - echo $DOCKER_PASSWD | docker login -u $DOCKER_USERNANEM --password-stdin + echo $DOCKER_PASSWD | docker login -u $DOCKER_USERNAME --password-stdin make compose-build docker push mmmanyfold/cfd:latest workflows: From 60aa8fd04e2e872378233e522970e39070a38743 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 18:59:08 -0700 Subject: [PATCH 12/25] fix: inline passwd --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8e1ac33..93459c4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ jobs: # Base64 decode our config - run: echo $CWB_ENV | base64 --decode >> .env - run: | - echo $DOCKER_PASSWD | docker login -u $DOCKER_USERNAME --password-stdin + docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWD make compose-build docker push mmmanyfold/cfd:latest workflows: From 92a859e419a12e2dc649617117813dde190bd86a Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 19:38:07 -0700 Subject: [PATCH 13/25] feat: add watchtower monitor service task --- Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 8cef6d6..e79eeac 100644 --- a/Makefile +++ b/Makefile @@ -52,3 +52,9 @@ swarn: .droplet-remote redis: docker pull $(REDIS_IMAGE) docker run -v redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 $(REDIS_IMAGE) /usr/local/etc/redis/redis.conf + +watchtower: + docker run -d \ + --name watchtower \ + -v /var/run/docker.sock:/var/run/docker.sock \ + v2tec/watchtower cwbn_web From 2d04291197d53a68abef5dd60635bd0e0977ed9d Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 20:12:33 -0700 Subject: [PATCH 14/25] fix: rm extra build step --- .circleci/config.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 93459c4..7a2f494 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,10 +17,7 @@ workflows: build_and_deploy: jobs: - build - - deploy_prod: - requires: - - build - filters: - branches: - only: - - feat-circle + filters: + branches: + only: + - feat-circle From cb5d2be2ce49cba140863bd0e9b2fa4f8ad872b8 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 20:13:44 -0700 Subject: [PATCH 15/25] fix: syntax --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7a2f494..e067596 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,8 +16,9 @@ workflows: version: 2 build_and_deploy: jobs: - - build + - build: filters: branches: only: - feat-circle + From a0c265a4c3f13281b669d18ac404c9156f472948 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 20:18:52 -0700 Subject: [PATCH 16/25] fix: format --- .circleci/config.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e067596..a6bc37a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: circleci/ruby:2.1.10-node-browsers + - image: circleci/ruby:2.1.10-node-browsers steps: - checkout - setup_remote_docker @@ -17,8 +17,7 @@ workflows: build_and_deploy: jobs: - build: - filters: - branches: - only: - - feat-circle - + filters: + branches: + only: + - feat-circle From ca0ae064c15b55fdcc7d53d374a910d703d9cb15 Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 20:42:32 -0700 Subject: [PATCH 17/25] test: branch --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a6bc37a..f08c6a0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,4 +20,4 @@ workflows: filters: branches: only: - - feat-circle + - master From 1b4e2842c2b5a0f78e6569e168338e9c0bf50f3f Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 20:45:10 -0700 Subject: [PATCH 18/25] test: branch 2 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f08c6a0..a6bc37a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,4 +20,4 @@ workflows: filters: branches: only: - - master + - feat-circle From a15bc5f2f92bf282dabcfb99a5cf0d3629a2541b Mon Sep 17 00:00:00 2001 From: "David A. Viramontes" Date: Thu, 6 Dec 2018 21:10:32 -0700 Subject: [PATCH 19/25] fix: rm watchtower container when exiting --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e79eeac..e1744cc 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ redis: docker run -v redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 $(REDIS_IMAGE) /usr/local/etc/redis/redis.conf watchtower: - docker run -d \ + docker run -d --rm \ --name watchtower \ -v /var/run/docker.sock:/var/run/docker.sock \ v2tec/watchtower cwbn_web From 559c58be71a536197c85d3ff86ef26c8d52fdaad Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 10 Dec 2018 18:59:01 -0700 Subject: [PATCH 20/25] Update docker-compose.yml --- docker-compose.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index b7a6e5f..6fca6c8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,3 +17,11 @@ services: - "6379:6379" elasticsearch: image: "docker.elastic.co/elasticsearch/elasticsearch:6.4.1" + watchtower: + image: v2tec/watchtower + container_name: watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ~/.docker/config.json:/config.json + command: watchtower web --interval 30 + restart: unless-stopped From 4a8bf1f3b45a47f6d72768e3f9bc44f8c0b8033a Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 10 Dec 2018 19:38:44 -0700 Subject: [PATCH 21/25] Add url to docker repo --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6fca6c8..f3a3b7e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,7 +8,7 @@ services: depends_on: - redis - elasticsearch - image: mmmanyfold/cfd + image: index.docker.io/mmmanyfold/cfd:latest redis: image: "redis:alpine" environment: @@ -24,4 +24,4 @@ services: - /var/run/docker.sock:/var/run/docker.sock - ~/.docker/config.json:/config.json command: watchtower web --interval 30 - restart: unless-stopped + restart: unless-stopped From 1216ffb16c93ed0b5402b725b964d1bd8cfd350d Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 10 Dec 2018 19:49:28 -0700 Subject: [PATCH 22/25] Debug mode --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index f3a3b7e..7e4e8a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,5 +23,5 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock - ~/.docker/config.json:/config.json - command: watchtower web --interval 30 + command: watchtower web --interval 30 --debug restart: unless-stopped From fb6f5cee31b9c960e9cb338d5e0fadb9688c7c93 Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 10 Dec 2018 20:04:00 -0700 Subject: [PATCH 23/25] Working version of watchtower --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e4e8a5..dc171f4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,5 +23,5 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock - ~/.docker/config.json:/config.json - command: watchtower web --interval 30 --debug + command: --interval 30 --debug restart: unless-stopped From 0c3f95d6e4d5b29ffbdedda6c177d95475b26adb Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 10 Dec 2018 20:07:35 -0700 Subject: [PATCH 24/25] Specify web --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index dc171f4..3df63e3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,5 +23,5 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock - ~/.docker/config.json:/config.json - command: --interval 30 --debug + command: --interval 30 --debug web restart: unless-stopped From 5671e1ae5afc0adbc719b44dee2e345d71cf4de2 Mon Sep 17 00:00:00 2001 From: Patrick MacMurchy Date: Mon, 10 Dec 2018 20:13:21 -0700 Subject: [PATCH 25/25] Don't specify web --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3df63e3..dc171f4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,5 +23,5 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock - ~/.docker/config.json:/config.json - command: --interval 30 --debug web + command: --interval 30 --debug restart: unless-stopped