초보자를 위한 GitHub Actions

이 종합적인 초보자 과정을 통해 GitHub Actions CI/CD 워크플로우를 마스터하세요. 첫 번째 워크플로우 생성부터 실습 랩과 흥미로운 챌린지를 통한 고급 자동화까지 모든 것을 배웁니다. 개발 프로세스를 자동화하려는 개발자에게 완벽합니다.

GitDevOps

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

실제 GitHub repository에서 workflow를 만들고 실행하며 GitHub Actions가 repository event를 반복 가능한 자동화로 바꾸는 방식을 배웁니다. 10개 가이드 랩에서 제공된 WebIDE로 YAML을 작성·push하고 GitHub 화면에서 job, log, artifact를 확인합니다.

repository와 workflow 설정에서 시작해 shell 명령, 재사용 action, 환경 변수, secret을 추가합니다. 마지막에는 작은 Node.js CI, artifact 전달, matrix test, job dependency를 구성하여 CI pipeline이 만들어지는 과정을 구체적으로 익힙니다.

학습 내용

과정을 마치면 다음을 할 수 있습니다.

  • GitHub repository를 생성·clone하고 .github/workflows 디렉터리를 준비합니다.
  • YAML에서 workflow 이름, push trigger, job, step, runs-on runner를 정의합니다.
  • workflow에서 shell 명령을 실행하고 GitHub Actions log에서 출력을 확인합니다.
  • 공식 재사용 action으로 repository를 checkout하고 Node.js를 설정합니다.
  • 환경 변수를 정의하고 값이 log에 노출되지 않도록 repository secret을 참조합니다.
  • dependency를 설치하고 npm test를 실행해 간단한 Node.js 프로젝트를 build·test합니다.
  • build artifact를 upload·download하여 서로 다른 job 사이에서 생성 파일을 전달합니다.
  • Node.js version matrix를 실행하고 needs로 build와 모의 deploy job 순서를 제어합니다.

추천 대상

첫 실용 CI workflow를 만들고 싶은 개발자, DevOps 초보자, GitHub 사용자를 위한 과정입니다. repository와 commit은 이해하지만 GitHub Actions YAML을 작성하거나 hosted workflow run을 관찰한 적이 없다면 특히 적합합니다.

선수 지식: 실제 repository 생성·수정, secret 설정, commit push, run 확인을 수행하므로 GitHub 계정이 필요합니다. 기본 Git 명령, 터미널 탐색, 간단한 YAML을 알아야 하며 Node.js와 npm 기초가 CI 랩에 도움이 됩니다.

학습 환경: 제공된 Ubuntu 22.04 WebIDE에서 편집과 Git 작업을 하고 push를 위해 GitHub 연동을 승인합니다. workflow 실행에는 GitHub 웹사이트와 hosted Ubuntu runner를 사용하며, 랩은 공개 github-actions-demo repository를 이어서 사용합니다.

자주 묻는 질문

GitHub 계정과 접근 권한 승인이 필요한가요?

네. 첫 랩에서 GitHub repository를 만들고 WebIDE의 push는 GitHub 인증을 사용합니다. 로그인한 뒤 학습 환경이 요청하는 연동을 승인해야 합니다.

workflow는 모의 실행인가요, GitHub에서 실제 실행되나요?

GitHub에서 실제 실행됩니다. push로 시작하고 Actions 탭에서 log를 확인하며 repository secret을 설정하고 hosted runner가 만든 artifact를 확인하거나 download합니다.

애플리케이션을 production에 deploy하나요?

아닙니다. 마지막 workflow는 메시지를 출력하고 파일을 나열하는 deploy job으로 dependency와 artifact 전달을 보여 줍니다. cloud provider, production server, 실제 release destination은 설정하지 않습니다.

custom action이나 고급 security·release workflow도 포함하나요?

아닙니다. actions/checkout, actions/setup-node, artifact action 등 공식 action으로 기초에 집중합니다. custom action 작성, protected environment, OIDC, production release 설계는 범위 밖입니다.

강사

labby
Labby
Labby is the LabEx teacher.