도커를 활용한 자바스크립트 앱의 자동화된 배포 방법

자바스크립트 애플리케이션을 개발하고 배포하는 것은 중요한 작업입니다. 특히 자동화된 배포를 통해 애플리케이션의 개발과정을 효율적으로 관리할 수 있습니다. 이번 글에서는 도커(Docker)를 사용하여 자바스크립트 앱의 자동화된 배포 방법을 살펴보겠습니다.

1. Docker 이미지 생성하기

먼저, 자바스크립트 앱을 실행할 수 있는 Docker 이미지를 생성해야합니다. 이를 위해 Dockerfile을 작성하여 도커 이미지를 구성할 수 있습니다. Dockerfile은 애플리케이션의 종속성, 환경 설정, 실행방법 등을 정의하는 파일입니다. 해당 파일을 작성한 후, 다음 명령어를 통해 도커 이미지를 생성합니다.

FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

위의 예시에서는 Node.js 14 이미지를 기반으로 Docker 이미지를 생성하였습니다. 애플리케이션의 종속성을 먼저 설치하고, 소스 코드를 복사한 후에 애플리케이션을 실행하는 방식으로 구성되어 있습니다.

2. 자동화된 배포 스크립트 작성하기

도커 이미지를 생성했다면, 이제 자동화된 배포 스크립트를 작성해야합니다. 이 스크립트는 새로운 버전의 애플리케이션을 배포하기 위한 일련의 작업을 수행합니다. 예를 들어, Git 리포지토리에서 코드를 가져오고, 도커 이미지를 빌드하고, 배포 환경에 이미지를 배포하는 등의 작업을 포함할 수 있습니다.

아래는 간단한 배포 스크립트의 예시입니다.

#!/bin/bash
GIT_REPO="https://github.com/your-repo.git"
APP_NAME="your-app"
VERSION=$(git rev-parse --short HEAD)

echo "Deploying $APP_NAME version $VERSION"

# Git 리포지토리에서 코드 가져오기
git clone $GIT_REPO $APP_NAME
cd $APP_NAME

# 도커 이미지 빌드
docker build -t $APP_NAME:$VERSION .

# 배포 환경에 이미지 배포
docker push $APP_NAME:$VERSION

# 이전 버전의 이미지 제거
docker rmi $(docker images -q $APP_NAME | grep -v $VERSION)

echo "Deployment complete"

위의 스크립트에서는 Git 리포지토리에서 코드를 클론하고, 도커 이미지를 빌드한 뒤, 해당 이미지를 배포 환경에 푸시하는 작업을 수행합니다. 마지막으로 이전 버전의 이미지를 제거하여 디스크 공간을 절약합니다.

3. CI/CD 도구와 연동하기

위에서 작성한 자동화된 배포 스크립트를 CI/CD 도구와 연동하여 계속해서 새로운 버전의 애플리케이션을 배포할 수 있도록 설정할 수 있습니다. 대표적인 CI/CD 도구로는 Jenkins, Travis CI, GitLab CI 등이 있습니다. 이 도구들은 코드의 변경사항이 발생할 때마다 자동으로 빌드 및 배포 작업을 수행하도록 설정할 수 있습니다.

마무리

이렇게 도커를 활용하여 자바스크립트 앱의 자동화된 배포 방법을 살펴보았습니다. 도커를 사용하면 애플리케이션의 개발 및 배포과정을 효율적으로 관리할 수 있으며, CI/CD 도구와 연동하여 지속적인 통합과 배포를 실현할 수 있습니다. 이를 통해 앱의 배포 프로세스를 자동화하고 개발자들의 생산성을 높일 수 있습니다.

#자동화 #도커