0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · 강의

스테이징 환경에 배포

출시 전 테스트를 위해 애플리케이션을 스테이징 환경에 자동으로 배포하는 워크플로를 설정합니다.

스테이징 환경에 배포은(는) CoddyKit의 무료 CI/CD with GitHub Actions & DevOps Pipelines 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 CI/CD with GitHub Actions & DevOps Pipelines 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. CI/CD with GitHub Actions & DevOps Pipelines 강의에는 총 4개의 강의가 포함되어 있습니다.

스테이징 환경이란 무엇인가요?

애플리케이션에 새로운 기능을 만들었다고 상상해 보세요. 모든 사용자에게 공개하기 전에(운영 환경에 반영하기 전에) 안전하고 실제와 비슷한 환경에서 테스트하고 싶을 것입니다. 이때 스테이징 환경을 사용합니다!

스테이징 환경은 운영 환경의 복제본입니다. 출시 전 최종 테스트에 사용되므로 실제 사용자에게 영향을 주지 않고 문제를 발견하고 품질을 보장할 수 있습니다.

스테이징과 운영 환경 비교

스테이징 환경은 운영 환경을 그대로 반영하지만, 목적은 서로 다릅니다.

  • 스테이징: 품질 보증(QA), 사용자 승인 테스트(UAT), 최종 점검을 위한 환경입니다. 제한된 사용자(테스터, 관계자)만 이용합니다.
  • 운영 환경: 모든 최종 사용자가 이용하는 실제 환경입니다. 여기서 발생하는 모든 문제는 고객에게 직접 영향을 줍니다.

먼저 스테이징 환경에 배포하는 것은 운영 환경의 위험을 최소화하는 핵심 단계입니다.

GitHub 환경 기능

GitHub 작업은 환경이라는 강력한 기능을 제공합니다. 이 기능을 사용하면 저장소 안에 staging 또는 production과 같은 논리적 환경을 정의할 수 있습니다.

환경을 사용하면 다음과 같은 작업을 할 수 있습니다.

  • 보호 규칙(수동 승인, 대기 타이머)을 적용합니다.
  • 환경별 비밀 정보를 관리합니다.
  • 특정 환경에 배포된 내역을 추적합니다.

스테이징 환경 선언

워크플로에서 환경을 사용하려면 먼저 저장소 설정에서 환경을 정의해야 합니다.

  • GitHub 저장소로 이동합니다.
  • 설정 > 환경을 클릭합니다.
  • 새 환경을 클릭하고 이름을 지정합니다. 예를 들어 staging으로 지정할 수 있습니다.

여기에서 배포를 승인할 검토자를 지정하는 것과 같은 보호 규칙을 추가할 수 있습니다.

기본 배포 워크플로 구조

이제 GitHub 작업에 staging 환경으로 배포하도록 지시하는 방법을 살펴보겠습니다. 작업 안에서 환경을 지정합니다.

name: Deploy to Staging

on: push

jobs:
  deploy-to-staging:
    runs-on: ubuntu-latest
    environment: staging # This links to your 'staging' environment
    steps:
      - name: Say Hello
        run: echo "Deploying to staging!"

환경 보호 구성

워크플로의 environment: staging 줄은 배포에 이름을 붙이는 것 이상의 역할을 합니다. 저장소 설정에서 staging 환경에 보호 규칙을 설정했다면 해당 규칙이 자동으로 적용됩니다.

예를 들어 수동 승인이 필요하도록 설정했다면, 권한이 있는 사람이 배포를 검토하고 승인할 때까지 이 작업이 일시 중지됩니다.

애플리케이션 빌드

배포하기 전에 일반적으로 애플리케이션을 빌드해야 합니다. 여기에는 코드 컴파일, 테스트 실행, 자산 패키징 등이 포함될 수 있습니다. 이러한 단계를 작업에 추가해 보겠습니다.

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js (Example build step)
        uses: actions/setup-node@v4
        with:
          node-version: '18'

      - name: Install dependencies
        run: npm ci

      - name: Build application
        run: npm run build

빌드된 산출물 배포

빌드가 끝나면 다음 단계는 애플리케이션 파일을 스테이징 서버로 전송하는 것입니다. 이 작업에는 SSH, FTP 또는 클라우드 전용 배포 도구가 사용되는 경우가 많습니다.

다음은 개념을 보여 주는 단계입니다. 실제 환경에서는 echo를 실제 배포 명령으로 바꿔야 합니다.

      - name: Deploy to Staging Server
        run: |
          echo "Simulating deployment to staging..."
          # scp -r ./dist user@staging.example.com:/var/www/html
          # Or use a specific deployment action for AWS, Azure, etc.

모든 과정 연결하기: 스테이징 워크플로

이 전체 워크플로는 develop 브랜치에 코드를 올릴 때 실행됩니다. 코드를 가져오고 애플리케이션을 빌드한 다음, 설정한 보호 규칙을 준수하면서 스테이징 환경에 배포합니다.

name: Deploy to Staging Environment

on:
  push:
    branches:
      - develop # Trigger only on pushes to the 'develop' branch

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: staging # Link this job to the 'staging' environment

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js (Example)
        uses: actions/setup-node@v4
        with:
          node-version: '18'

      - name: Install dependencies
        run: npm ci

      - name: Build application
        run: npm run build

      - name: Deploy to Staging Server
        run: echo "Deployment to staging completed!"

스테이징 배포 확인

스테이징 환경에 배포하도록 GitHub 작업 워크플로를 설정하는 방법을 배웠습니다. 이제 지식을 확인해 보세요!

복습: 스테이징 배포

잘하셨습니다! 이제 스테이징 환경에 배포하도록 GitHub 작업을 설정하는 방법을 배웠습니다.

  • 스테이징 환경은 운영 환경과 유사하며 운영 전 테스트에 사용됩니다.
  • GitHub 환경 기능은 배포 안전성과 비밀 정보 관리를 돕습니다.
  • 워크플로는 environment 키를 사용하여 특정 환경을 대상으로 지정합니다.
  • 이 과정을 통해 위험을 최소화하고 운영 환경으로 더 원활하게 전환할 수 있습니다.

다음에는 환경 변수와 비밀 정보를 사용하여 민감한 정보를 관리하는 방법을 살펴보겠습니다!

자주 묻는 질문

“스테이징 환경에 배포” 강의는 무료인가요?

네 — “스테이징 환경에 배포” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 CI/CD with GitHub Actions & DevOps Pipelines 강의 전체를 잠금 해제할 수 있습니다. CI/CD with GitHub Actions & DevOps Pipelines 강의에는 총 4개의 강의가 포함되어 있습니다.

“스테이징 환경에 배포”에서 뭘 배우나요?

출시 전 테스트를 위해 애플리케이션을 스테이징 환경에 자동으로 배포하는 워크플로를 설정합니다. 브라우저에서 직접 실행하는 실습 코드로 CI/CD with GitHub Actions & DevOps Pipelines을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

CI/CD with GitHub Actions & DevOps Pipelines을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 CI/CD with GitHub Actions & DevOps Pipelines은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“스테이징 환경에 배포” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 CI/CD with GitHub Actions & DevOps Pipelines 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 CI/CD with GitHub Actions & DevOps Pipelines 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 지속적 배포 소개
  2. 스테이징 환경에 배포
  3. 환경 변수 및 보안 비밀
  4. 승인 게이트를 통한 운영 환경 배포
← CI/CD with GitHub Actions & DevOps Pipelines(으)로 돌아가기