GitHub Actions 는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 지속적 통합/지속적 제공 (CI/CD) 플랫폼입니다. 리포지토리에 대한 모든 풀 리퀘스트 (pull request) 를 빌드하고 테스트하거나, 병합된 풀 리퀘스트를 프로덕션 환경에 배포하는 워크플로를 생성할 수 있습니다.
본 랩에서는 첫 번째 간단한 워크플로를 생성합니다. GitHub Actions 에 필요한 표준 디렉터리 구조, 워크플로 이름을 정의하는 방법, 워크플로를 트리거하는 이벤트를 지정하는 방법, 그리고 명령을 실행할 작업을 정의하는 방법을 학습하게 됩니다.
이 랩은 이전 랩에서 생성한 리포지토리를 기반으로 합니다. github-actions-demo 리포지토리를 LabEx 환경으로 복제하고 첫 번째 워크플로 파일을 추가할 것입니다.
이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 96%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.
.github/workflows 디렉토리에 hello-world.yml 이라는 새 YAML 파일 생성
이 단계에서는 이전 실습에서 생성한 리포지토리를 클론하고 첫 번째 워크플로 파일을 생성합니다.
github-actions-demo의 GitHub 리포지토리 페이지에서 녹색 Code 버튼을 클릭합니다.
HTTPS 탭이 선택되었는지 확인하고 URL 을 복사합니다. URL 은 https://github.com/your-username/github-actions-demo.git과 유사해야 합니다.
LabEx 환경에서 터미널을 엽니다. 기본 경로는 ~/project입니다.
git clone 명령어를 사용하여 리포지토리를 다운로드합니다. your-username을 실제 GitHub 사용자 이름으로 바꾸십시오.
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
예시 출력:
Cloning into 'github-actions-demo'...
remote: Enumerating objects: X, done.
remote: Counting objects: 100% (X/X), done.
remote: Total X (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (X/X), done.
클론된 리포지토리로 이동합니다:
cd ~/project/github-actions-demo
이전 실습에서 .github/workflows 디렉토리가 이미 존재해야 합니다. 존재 여부를 확인합니다:
ls -R .github
.github/workflows 디렉토리 안에 hello-world.yml이라는 새 파일을 생성합니다. 이 파일에는 워크플로 구성이 포함됩니다:
touch .github/workflows/hello-world.yml
파일이 성공적으로 생성되었는지 확인할 수 있습니다:
ls -R .github
workflows 디렉토리에 이전 실습에서 생성된 main.yml과 새로 생성된 hello-world.yml이 모두 포함되어 있는 것을 볼 수 있어야 합니다.
YAML 파일에 'Hello World Workflow' 값을 가진 name 키 추가
이 단계에서는 워크플로우를 정의하기 위해 YAML 파일을 편집하기 시작합니다. 일반적으로 추가하는 첫 번째 요소는 워크플로우의 name입니다. 이 이름은 GitHub 리포지토리의 Actions 탭에 표시되어 쉽게 식별할 수 있습니다.
WebIDE 편집기를 사용하여 hello-world.yml 파일을 엽니다. 이 파일은 왼쪽 파일 탐색기에서 project/github-actions-demo/.github/workflows/ 아래에서 찾을 수 있습니다.
파일에 다음 내용을 추가합니다:
name: Hello World Workflow
이 키 - 값 쌍은 워크플로우에 사람이 읽을 수 있는 이름을 할당합니다.
내용을 추가한 후 파일을 저장합니다 (Ctrl+S 또는 Cmd+S).
터미널에서 파일 내용을 확인할 수 있습니다:
cat .github/workflows/hello-world.yml
push 이벤트에 반응하도록 on 키 추가
이 단계에서는 워크플로가 언제 실행되어야 하는지를 정의합니다. 이는 on 키워드를 사용하여 수행됩니다. 우리는 코드가 리포지토리에 푸시될 때마다 이 워크플로가 실행되도록 할 것입니다.
다시 .github/workflows/hello-world.yml 파일을 열고 name 키 아래에 다음 줄을 추가하십시오:
on: [push]
이제 파일은 다음과 같이 보여야 합니다:
name: Hello World Workflow
on: [push]
on: [push] 설정은 리포지토리의 모든 브랜치에 git push가 발생할 때마다 GitHub Actions 에게 이 워크플로를 트리거하도록 지시합니다.