From ecaa2f1e87cad5971151c85c5971e4d1b45c83da Mon Sep 17 00:00:00 2001 From: vtm9 Date: Wed, 23 Feb 2022 23:06:32 +0300 Subject: [PATCH] Add deployment --- .dockerignore | 6 ++++++ .gitignore | 2 ++ Dockerfile | 13 +++++++++++++ Makefile | 20 ++++++++++++++++++-- bin/client.js | 2 +- deployment.yaml | 22 ++++++++++++++++++++++ package.json | 1 - 7 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 deployment.yaml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..086a766 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +node_modules +Dockerfile +tmp +kubeconfig.yaml +kubeconfig.yml +.env diff --git a/.gitignore b/.gitignore index b6bb3ed..e4abf77 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ *.log .env coverage +/tmp +kubeconfig.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..faea73b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM node:16-slim + +RUN apt-get update && apt-get install --no-install-recommends -y ca-certificates git vim make curl \ + && rm -rf /var/lib/apt/lists/* + +COPY package.json . +COPY package-lock.json . + +COPY . . + +RUN make install-deps + +CMD make run diff --git a/Makefile b/Makefile index f39bee4..6d3f4e7 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,11 @@ +PWD:=$(shell pwd) + +kb-%: export KUBECONFIG=$(PWD)/kubeconfig.yml + install: install-deps install-env run: - bin/client.js + ./bin/client.js install-env: cp env.template .env @@ -21,4 +25,16 @@ lint: publish: npm publish -.PHONY: test +docker-build: + docker pull codebattle/discord-bot:latest || true + docker build --cache-from=codebattle/discord-bot:latest --tag codebattle/discord-bot:latest . + +docker-push: + docker push codebattle/discord-bot:latest + +kb-deploy: + kubectl apply -f deployment.yaml + +kb-k9s: + k9s +.PHONY: test run diff --git a/bin/client.js b/bin/client.js index f9c08a5..c387c31 100755 --- a/bin/client.js +++ b/bin/client.js @@ -1,3 +1,3 @@ -#!/usr/bin/node +#!/usr/bin/env node require('../index.js'); diff --git a/deployment.yaml b/deployment.yaml new file mode 100644 index 0000000..3c9c1af --- /dev/null +++ b/deployment.yaml @@ -0,0 +1,22 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: discord-bot + labels: + app: discord-bot +spec: + replicas: 1 + selector: + matchLabels: + app: discord-bot + template: + metadata: + labels: + app: discord-bot + spec: + containers: + - name: discord-bot + image: codebattle/discord-bot:latest + env: + - name: DEPLOYED + value: "1" diff --git a/package.json b/package.json index 589bd18..bb42573 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "bugs": { "url": "https://github.com/ReDBrother/codebattle_bot/issues" }, - "type": "module", "jest": { "testEnvironment": "node", "transform": {}