[typescript] 도커와 타입스크립트를 이용한 CI/CD 자동화 설정하기

도커와 타입스크립트를 사용하여 Continuous Integration (CI) 및 Continuous Deployment (CD) 프로세스를 자동화하는 것은 개발 효율성과 신뢰성 측면에서 큰 장점을 제공합니다. 이 블로그 포스트에서, 저는 도커와 타입스크립트를 이용하여 CI/CD 자동화를 설정하는 방법에 대해 다루겠습니다.

목차

  1. 도커를 이용한 타입스크립트 애플리케이션 빌드
  2. GitHub Actions를 이용한 CI/CD 설정
  3. 결론

도커를 이용한 타입스크립트 애플리케이션 빌드

먼저, 타입스크립트 애플리케이션을 빌드하기 위해 도커 파일을 작성해야 합니다. 아래는 간단한 도커 파일의 예시입니다.

# 도커 이미지
FROM node:alpine

# 작업 디렉토리 설정
WORKDIR /usr/src/app

# 의존성 설치
COPY package*.json ./
RUN npm install

# 소스 코드 복사
COPY . .

# 빌드
RUN npm run build

위의 도커 파일은 Node.js의 alpine 이미지를 기반으로하는데, 타입스크립트 애플리케이션을 빌드하기 위해 필요한 단계들을 수행합니다.

GitHub Actions를 이용한 CI/CD 설정

GitHub Actions를 사용하여 CI/CD 프로세스를 설정할 수 있습니다. 먼저, GitHub 레포지토리의 .github/workflows 디렉토리에 새로운 .yml 파일을 생성합니다. 아래는 간단한 예시입니다.

name: CI/CD Pipeline

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14'

    - name: Build and Test
      run: |
        npm install
        npm run build
        npm test

    - name: Docker Build and Push
      uses: docker/build-push-action@v2
      with:
        push: true
        tags: username/repository:latest

위의 GitHub Actions 설정 파일은 코드가 푸시될 때마다 빌드/테스트를 실행하고, Docker 이미지를 빌드하여 레포지토리에 푸시합니다.

결론

이제 도커와 타입스크립트를 이용하여 CI/CD 프로세스를 자동화하는 방법에 대해 살펴보았습니다. 이러한 지속적 통합 및 배포 프로세스의 자동화는 팀의 개발 및 배포 효율성을 향상시키고, 신뢰할 수 있는 소프트웨어를 유지하는 데 큰 도움이 됩니다.

참고 자료

이제 당신의 타입스크립트 프로젝트에 CI/CD를 설정해보세요!