← 레벨 6 – 프로젝트 리드

수업 5/8 ⏱ 35 분 프리미엄

자동 배포

GitHub Actions 설정: 변경 사항을 푸시하면 웹사이트가 자동으로 업데이트돼. 전문가처럼.

로봇이 너을 위해 일해

지금은 다음과 같이 작동해. 코드 변경 → 커밋 → 푸시 → GitHub 페이지 업데이트를 변경해. 그것은 이미 자동화야! 그러나 전문가들은 더 나아갑니다. GitHub Actions는 푸시할 때마다 웹 사이트 구축, 오류 확인, 배포 등 사용자가 지시하는 모든 작업을 수행하는 로봇야.

이를 CI/CD(지속적 통합/지속적 배포)라고 해. 복잡하게 들리지만 실제로는 다음과 같어. “로봇은 모든 변경 후에 모든 것을 확인하고 배포해.”

보여줄게: 첫 번째 작업 흐름

로봇의 작업은 내부 파일에 기록돼..github/workflows/접는 사람. 예를 들어,deploy.yml:

name: Check and deploy

on:
  push:
    branches: [main]   # run after every push to main

jobs:
  check:
    runs-on: ubuntu-latest   # the robot gets a clean Linux computer
    steps:
      - uses: actions/checkout@v4      # download my code
      - name: Check HTML
        run: |
          echo "Checking that index.html exists…"
          test -f index.html && echo "OK ✅"

푸시 후 GitHub의 작업 탭 아래에 실행 중인 로봇이 표시돼. 녹색 체크 표시는 모든 것이 통과되었음을 의미해. 빨간색 X는 뭔가 잘못되었음을 의미하며 로봇이 무엇을 알려줄 것야.

💡
**GitHub 페이지에서는 이미 작업을 사용하고 있어!** 작업 탭을 보면 페이지 배포가 "페이지 빌드 및 배포"라는 워크플로를 통해 실행되는 것을 볼 수 있어. 이제 깨진 버전을 게시하지 않는 실제 상사처럼 자신만의 추가 검사를 추가하게 돼.

네 차례야 💪

  1. 생성.github/workflows/deploy.yml예제에 따라 푸시하고 Actions 탭을 살펴보세요.
  2. 의도적으로 무언가를 깨뜨리기: 이름 바꾸기index.html에게index2.html, push - 워크플로가 빨간색으로 변해. 문제를 해결하고 녹색으로 변하는 것을 지켜보세요. (이것이 이번 수업의 가장 중요한 체험야!)
  3. 워크플로에 두 번째 단계를 추가해.localhostHTML에 남았어.
      - name: No localhost in the code
        run: |
          if grep -r "localhost:3000" *.html; then
            echo "WARNING: localhost was left in the code!" && exit 1
          fi
          echo "OK ✅"
  1. 작성LAUNCH.md: “웹사이트가 자동으로 배포되고 로봇이 모든 푸시를 확인해.”
**확인:** 푸시할 때마다 워크플로가 작업 탭에서 실행돼. 빨간색(깨짐)과 녹색(고정)을 모두 보았어. 웹사이트는 단일 수동 단계 없이 업데이트돼.

이번 수업에서 배울 점