JWT 리프레시 토큰 저장 및 블랙리스트 저장을 위해서 Redis를 활용하기로 했다.
Redis 실행을 위해 docker-compose.yml 파일을 작성하여 실행하도록 하려고 했다.
현재 Github Actions로 CI/CD를 진행하고 있어서 자동으로 docker, docker-compose가 있는지 확인 후 다운하고 Redis를 실행하고자 했다.
# docker-compose.yml Copy
- name: Copy docker-compose
run: cp docker-compose.yml ./deploy/
# Installing docker engine if not exists
if ! type docker > /dev/null #docker를 깔아주는 코드, EC2 인스턴스에는 아무것도 없기 때문에 직접 깔아줘야 한다.
then
echo "docker does not exist"
echo "Start installing docker"
sudo yum -y update
sudo yum install -y docker
sudo systemctl start docker
fi
# Installing docker-compose if not exists
if ! type docker-compose > /dev/null #docker-compose를 깔아주는 코드
then
echo "docker-compose does not exist"
echo "Start installing docker-compose"
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
fi
# docker 구동
DOCKER_PID=$(pgrep -f $PROJECT_ROOT/docker-compose.yml)
if [ -z $CURRENT_PID ]; then
echo "start docker-compose up"
sudo docker-compose -f $PROJECT_ROOT/docker-compose.yml up --build -d
fi