Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .env.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Circles environment

PROJECT_NAME=CirclesServer
# deploy env
# None
# dev env

DOMAIN_PORT=13000
URI=http://localhost
HOST=localhost

DB_FRAMEWORK=mysql
DB_URI=http://localhost
DB_HOST=localhost
DB_PORT=18000
DB_USER=test
DB_PASSWORD=qwer1234
DB_DATABASE=test

REDIS_HOST=localhost
REDIS_PORT=18001
REDIS_NAME=default
REDIS_PASSWORD=qwer1234
REDIS_ACCESSKEY=MYACCESSKEY
REDIS_REFRESHKEY=MYREFRESHKEY

19 changes: 15 additions & 4 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
timeout-minutes: 8
env:
MYSQL_PORT: ${{ secrets.MYSQL_PORT }}
DEV_MYSQL_PORT: ${{ secrets.MYSQL_PORT }}
DEV_MYSQL_PORT: ${{ secrets.DEV_MYSQL_PORT }}
DEV_REDIS_PORT: ${{ secrets.DEV_REDIS_PORT }}
runs-on: ubuntu-latest

Expand All @@ -25,9 +25,16 @@ jobs:
- name: Checkout
uses: actions/checkout@v2

- name: Generate Environment Variables File for Development
run: |
if [ -f ".env.local" ]; then
cp .env.local .env
echo "Using development .env"
fi

# Docker compose up
- name: Docker
run: docker-compose -f 'docker-compose.yml' up -d --build
run: docker-compose -f 'docker-compose.yml' up -d dev_db redis --build

# Docker processor list ํ™•์ธ
- name: Check Docker list
Expand All @@ -38,14 +45,18 @@ jobs:
run: bash -c './wait-for-it.sh -t 60 localhost:${DEV_MYSQL_PORT}'

# mongo pin test
#- name: MONGO Ping test
# - name: MONGO Ping test
# run: bash -c './wait-for-it.sh -t 60 localhost:3306'

# redis pin test
# - name: MONGO Ping test
# run: bash -c './wait-for-it.sh -t 60 localhost:3306'

# Coverage๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๋Š” pull request
- name: Docker build and Tests โœ…
uses: ArtiomTr/jest-coverage-report-action@v2
with:
test-script: yarn pr-test
test-script: yarn test
package-manager: yarn

# ์„ฑ๊ณต/์‹คํŒจ ์—ฌ๋ถ€์— ์ƒ๊ด€์—†์ด docker container ๊ฐ•์ œ ์ข…๋ฃŒ
Expand Down
61 changes: 34 additions & 27 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,52 +1,59 @@
version: '3.8'
services:
# db:
# image: mysql:5.7
# restart: always
# command: --lower_case_table_names=1
# container_name: Probrain_db
# ports:
# - "${MYSQL_PORT}:3307"
# environment:
# - TZ=Asia/Seoul
# - MYSQL_PORT
# volumes:
# - /Users/Shared/data/Probrain_db:/var/lib/mysql
# # volumes:
# # - ./db/conf.d:/etc/mysql/conf.d
# # - ./db/data:/var/lib/mysql
# # - ./db/initdb.d:/docker-entrypoint-initdb.d
dev_db:
db:
image: mysql:5.7
restart: always
command: --lower_case_table_names=1
container_name: dev_db
container_name: Probrain_db
ports:
- "${DEV_MYSQL_PORT}:3306"
- "${DB_PORT}:3306"
environment:
- TZ=Asia/Seoul
- DEV_MYSQL_PORT
- MYSQL_PORT
volumes:
- /Users/Shared/data/dev_db:/var/lib/mysql
- /Users/Shared/data/Probrain_db:/var/lib/mysql
# volumes:
# - ./db/conf.d:/etc/mysql/conf.d
# - ./db/data:/var/lib/mysql
# - ./db/initdb.d:/docker-entrypoint-initdb.d
dev_db:
image: mysql:5.7
restart: always
container_name: dev_db
ports:
- "${DB_PORT}:3306"
environment:
- TZ=Asia/Seoul
- MYSQL_DATABASE=${DB_DATABASE}
- MYSQL_USER={DB_USER}
- MYSQL_ROOT_PASSWORD={DB_PASSWORD} # MYSQL ํŒจ์Šค์›Œ๋“œ ์„ค์ • ์˜ต์…˜
- MYSQL_PASSWORD={DB_PASSWORD}
command: # ๋ช…๋ น์–ด ์‹คํ–‰
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --lower_case_table_names=1
env_file: .env
# volumes:
# - /Users/Shared/data/dev_db:/var/lib/mysql
# volumes:
# - ./dev/conf.d:/etc/mysql/conf.d
# - ./dev/data:/var/lib/mysql
# - ./dev/initdb.d:/docker-entrypoint-initdb.d

redis:
image: redis:alpine
command: redis-server --port 6379
container_name: Probrain_redis
hostname: redis_boot
environment:
- DEV_REDIS_PORT
env_file: .env
labels:
- "name=redis"
- "mode=standalone"
ports:
- ${MAIN_REDIS_PORT}:6379
command: >
--requirepass ${MAIN_REDIS_PASSWORD}
- ${REDIS_PORT}:6379




# version: "3.8" # ํŒŒ์ผ ๊ทœ๊ฒฉ ๋ฒ„์ „
# services: # ์ด ํ•ญ๋ชฉ ๋ฐ‘์— ์‹คํ–‰ํ•˜๋ ค๋Š” ์ปจํ…Œ์ด๋„ˆ ๋“ค์„ ์ •์˜ ( ์ปดํฌ์ฆˆ์—์„œ ์ปจํ…Œ์ด๋„ˆ : ์„œ๋น„์Šค )
# dev-mysql-service-db: # ์„œ๋น„์Šค ๋ช…
Expand Down
31 changes: 31 additions & 0 deletions init-dev.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# !bin/bash

# Wrapper
function check_status {
echo "\033[34m"
bash -c "./wait-for-it.sh -t 60 $1"
echo "\033[0m"
if [ $? == 0 ]; then
echo "\033[32m ...Success\033[0m";
else
echo "\033[31m >> ...Failed\033[0m";
exit -1;
fi
}

if [ -f ".env.local" ]; then
\cp .env.local .env
export $(cat .env | sed 's/#.*//g' | xargs) # env file load
echo "Using development .env"
else
echo "There is no .env.local !!"
exit -1
fi

# docker ์‹คํ–‰
bash -c "docker-compose -f 'docker-compose.yml' up -d --build dev_db redis"
docker-compose ps

# docker ๋‚ด๋ถ€ ์„œ๋น„์Šค ping test
check_status "localhost:${DB_PORT}"
check_status "localhost:${REDIS_PORT}"
Loading