GitHub Foundations #6 Domain 4: 모던 개발 — Actions·Codespaces·Copilot·Packages

5 분 소요

Domain 4는 모던 개발(Modern Development) 영역입니다. 저장소와 협업 기능이 GitHub의 뼈대라면, 이 도메인은 GitHub를 개발 플랫폼으로 확장하는 기능들을 묻습니다. CI/CD를 담당하는 Actions, 클라우드 개발 환경인 Codespaces, AI 코딩 도구 Copilot, 패키지 레지스트리 Packages가 주인공입니다. 시험은 각 기능을 깊게 다루는 대신 무엇이 어떤 문제를 푸는 기능인지, 서로 어떻게 다른지를 묻습니다. 특히 github.dev와 Codespaces의 차이는 단골 출제 지점이므로 표로 정확히 정리하겠습니다.

GitHub Actions — 저장소에 붙는 자동화 #

GitHub Actions는 저장소의 이벤트에 반응해 자동으로 실행되는 워크플로 기능입니다. 대표 용도는 CI/CD(테스트, 빌드, 배포 자동화)지만, Issue에 라벨을 붙이는 것 같은 저장소 운영 자동화에도 쓰입니다. 시험은 YAML 문법의 세부가 아니라 구성 요소의 용어와 관계를 묻습니다.

용어의미
Workflow자동화 프로세스 전체. .github/workflows/의 YAML 파일 하나
Event워크플로를 시작시키는 계기 (push, pull_request, schedule 등)
Job워크플로 안의 실행 단위. 기본적으로 서로 병렬 실행
Stepjob 안에서 순서대로 실행되는 개별 명령 또는 액션
Action재사용 가능한 단위 기능. Marketplace에서 가져다 씀
Runnerjob을 실제로 실행하는 머신
.github/workflows/ci.yml — 최소 예시
name: CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci
      - run: npm test

on이 이벤트, jobs 아래 test가 job 하나, steps의 각 줄이 step입니다. uses는 Marketplace의 액션을 가져오고 run은 셸 명령을 직접 실행합니다. runner는 GitHub가 제공하는 GitHub-hosted runner(ubuntu-latest 등)와 직접 준비한 머신을 등록하는 self-hosted runner 두 종류가 있다는 구분까지 알아 두면 이 영역의 출제 범위는 대부분 덮입니다.

GitHub Codespaces — 클라우드 개발 환경 #

Codespaces는 저장소를 기반으로 클라우드에 개발 환경을 통째로 띄우는 기능입니다. 브라우저의 VS Code로 바로 접속하거나 로컬 VS Code, JetBrains IDE에서 연결할 수 있고, 터미널과 런타임이 있는 실제 가상 머신이므로 코드를 실행하고 테스트할 수 있습니다.

환경 구성은 저장소의 .devcontainer/devcontainer.json 파일로 선언합니다. 사용할 이미지, 설치할 확장, 포트 포워딩 설정을 코드로 적어 두면, 팀원 누구가 Codespace를 열어도 같은 환경이 재현됩니다. “새 팀원의 개발 환경 셋업이 몇 분으로 줄어든다"는 것이 시험이 기대하는 효용 서술입니다. 컴퓨팅 자원을 쓰는 기능이므로 무료 플랜에도 월 사용량 한도가 있고 초과분은 과금된다는 사실도 함께 기억해 둡니다.

github.dev — 실행 없는 웹 에디터 #

Codespaces와 반드시 구분해야 하는 것이 github.dev 웹 에디터입니다. 저장소 페이지에서 마침표(.) 키를 누르거나 URL의 github.comgithub.dev로 바꾸면 열립니다. 브라우저에서 VS Code 화면으로 파일을 편집하고 커밋할 수 있지만, 뒤에 컴퓨팅 자원이 없는 에디터 전용 환경입니다.

구분github.devCodespaces
실체브라우저 에디터 (컴퓨팅 없음)클라우드 가상 머신
코드 실행·터미널불가가능
디버깅·테스트불가가능
비용무료사용량 기반 (무료 한도 있음)
여는 법. 키 또는 github.dev URLCode 버튼 → Codespaces 탭

“오타 수정처럼 실행이 필요 없는 편집은 github.dev, 빌드와 테스트까지 필요하면 Codespaces"가 시험이 원하는 판단입니다.

GitHub Copilot — AI 코딩 도구 #

Copilot은 에디터 안에서 코드를 제안하는 AI 코딩 도구입니다. 시험 관점의 핵심은 세 가지입니다.

  • 동작 형태 — 에디터 확장으로 설치되어 작성 중인 코드의 맥락을 읽고 다음 코드를 인라인으로 제안합니다. 대화형으로 질문하고 코드를 설명받는 Copilot Chat도 포함됩니다.
  • 지원 환경 — VS Code, Visual Studio, JetBrains 계열, Neovim 등 주요 에디터와 github.com 웹까지 지원합니다.
  • 플랜 구분 — 개인용 플랜과 조직 관리 기능(정책 관리, 멤버 단위 활성화)이 붙는 비즈니스·엔터프라이즈 플랜으로 나뉩니다. 검증된 학생과 인기 오픈소스 메인테이너에게는 개인 플랜이 무료로 제공된다는 사실도 출제된 적 있는 지점입니다.

GitHub Packages — 코드 옆의 패키지 레지스트리 #

Packages는 저장소와 같은 계정 아래에서 패키지를 배포하는 레지스트리입니다. npm, RubyGems, Maven, Gradle, NuGet 같은 언어 생태계와 컨테이너 이미지를 지원합니다. 컨테이너 이미지 전용 주소가 GitHub Container Registry(ghcr.io)입니다.

시험이 기대하는 효용은 코드와 패키지를 한곳에서 관리하고, 저장소의 권한 체계와 Actions 워크플로를 그대로 활용해 배포를 자동화한다는 점입니다. Actions 워크플로에서 빌드한 패키지를 GITHUB_TOKEN으로 바로 Packages에 push하는 조합이 대표 흐름입니다.

GitHub Marketplace #

Marketplace는 Actions에서 쓰는 액션과 저장소에 설치하는 GitHub Apps를 찾고 배포하는 장터입니다. CI 도구, 코드 품질 검사, 프로젝트 관리 연동 같은 서드파티 기능을 저장소에 붙일 때 여기서 검색합니다. 무료와 유료가 섞여 있고, 직접 만든 액션이나 앱을 등록해 배포할 수도 있다는 정도가 시험 범위입니다.

노트
시험 포인트를 정리합니다. Actions 용어 사슬(workflow가 event로 시작되고 job은 runner에서 step을 순서대로 실행)을 정확히 구분할 것, github.dev는 실행·터미널이 불가능한 에디터이고 Codespaces는 실행 가능한 가상 머신이라는 대비, 그리고 ghcr.io가 Packages의 컨테이너 레지스트리라는 사실이 이 도메인의 단골 출제 지점입니다.

마무리 #

Domain 4의 기능들은 서로 조합될 때 완성됩니다. Codespaces로 통일된 환경에서 개발하고, Copilot의 제안으로 코드를 쓰고, push하면 Actions가 테스트를 돌리고, 통과한 결과물이 Packages로 배포되는 흐름입니다. 시험도 이 큰 그림 위에서 각 기능의 역할 구분을 묻습니다.

다음 글인 “GitHub Foundations #7 Domain 5: 프로젝트 관리 — Projects·자동화·인사이트"에서는 Issue와 PR을 계획 도구로 묶어 내는 GitHub Projects를 다루겠습니다.

X