소개
GitHub Actions 에서 환경 변수 (environment variables) 는 워크플로 (workflow) 의 단계 (step) 에서 사용할 수 있는 키 - 값 쌍입니다. 환경 변수는 전체 워크플로, 특정 작업 (job), 또는 특정 단계에 대해 정의할 수 있습니다.
본 랩 (lab) 에서는 다음 사항을 학습합니다.
- GitHub Actions 워크플로 파일을 생성합니다.
- 워크플로 수준에서 환경 변수를 정의합니다.
- 단계에서 환경 변수에 접근하고 사용합니다.
- 변수를 업데이트하고 워크플로를 다시 트리거합니다.
이 랩은 이전 랩에서 생성한 저장소 (repository) 를 기반으로 합니다. github-actions-demo 저장소를 클론하고 환경 변수를 사용하는 워크플로를 생성할 것입니다.
'Hello'로 설정된 GREETING 변수와 함께 env 섹션 추가하기
이 단계에서는 리포지토리를 클론하고 전역 환경 변수가 포함된 새로운 GitHub Actions 워크플로 파일을 생성합니다.
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
- 클론된 리포지토리로 이동합니다:
cd ~/project/github-actions-demo
.github/workflows디렉토리 안에env-demo.yml이라는 새 파일을 생성합니다:
touch .github/workflows/env-demo.yml
- WebIDE 에서
.github/workflows/env-demo.yml을 열고 다음 내용을 추가합니다. 이 내용은 워크플로 이름, 트리거 이벤트 (push), 그리고GREETING이라는 변수가 있는env섹션을 정의합니다.
name: Environment Variable Demo
on: [push]
env:
GREETING: "Hello"
name: 워크플로의 이름입니다.on:push이벤트가 발생할 때 이 워크플로가 실행되도록 지정합니다.env: 워크플로의 모든 작업 (jobs) 및 단계 (steps) 에서 사용할 수 있는 환경 변수 맵을 정의합니다. 여기서는GREETING을 문자열'Hello'로 설정합니다.
run echo "${{ env.GREETING }}, World!" 명령어로 변수를 출력하는 단계 추가하기
이 단계에서는 생성한 환경 변수를 사용하기 위한 job 과 step 을 정의합니다. 워크플로우 파일 내에서 환경 변수는 ${{ env.VARIABLE_NAME }} 구문을 사용하여 접근합니다.
WebIDE 에서 .github/workflows/env-demo.yml 파일을 열고 파일 끝에 다음 내용을 추가하십시오:
jobs:
print-greeting:
runs-on: ubuntu-latest
steps:
- name: Print Greeting
run: echo "${{ env.GREETING }}, World!"
완성된 파일은 다음과 같아야 합니다:
name: Environment Variable Demo
on: [push]
env:
GREETING: "Hello"
jobs:
print-greeting:
runs-on: ubuntu-latest
steps:
- name: Print Greeting
run: echo "${{ env.GREETING }}, World!"
jobs: 워크플로우가 실행하는 job 들을 정의합니다.print-greeting: job 의 ID 입니다.runs-on: job 을 실행할 머신 유형 (러너) 을 구성합니다.steps: job 내에서 실행되는 모든 단계를 그룹화합니다.run: 러너의 셸에서 명령을 실행합니다. 여기서는echo를 사용하여GREETING의 값과, World!를 출력합니다.
env 가 포함된 업데이트된 워크플로 커밋 및 푸시
이 단계에서는 새 워크플로우 파일을 커밋하고 GitHub 에 푸시합니다. 이 파일을 푸시하면 GitHub Actions 에 워크플로우가 등록되고 첫 번째 실행이 트리거됩니다.
- 리포지토리 디렉토리에 있는지 확인합니다:
cd ~/project/github-actions-demo
- 워크플로우 파일을 스테이징합니다:
git add .github/workflows/env-demo.yml
- 변경 사항을 커밋합니다:
git commit -m "Add workflow with environment variable"
- 변경 사항을 GitHub 의 원격 리포지토리에 푸시합니다:
git push
인증 참고 사항:
git push를 실행하면 WebIDE 가 자동으로 인증을 요청합니다. 다음 세부 단계를 따르십시오:
- "The extension 'GitHub' wants to sign in using GitHub." 라는 메시지와 함께 팝업이 나타납니다. Allow를 클릭합니다.
- 새 알림이 나타납니다. **"Copy&Continue to GitHub"**를 클릭한 다음, 다음 프롬프트에서 **"Open"**을 클릭합니다.
- 열리는 브라우저 창에서 GitHub 계정에 로그인하고 복사된 인증 코드를 입력합니다. 인증을 확인하면 페이지가 자동으로 닫힙니다.
- 몇 초 기다리면 터미널에서 푸시 작업이 성공적으로 완료되는 것을 볼 수 있습니다.
개인 정보 보호 참고 사항: WebIDE 는 인증 목적으로 GitHub 계정에 대한 전체 액세스를 요청합니다. 개인 정보 보호에 대해 걱정할 필요가 없습니다. 현재 실습을 완료하면 LabEx VM 은 즉시 파기되며, 귀하의 자격 증명 및 인증 정보는 유지되지 않습니다.
변경 사항 푸시를 통해 워크플로 트리거하기
워크플로우는 push 이벤트에서 실행되도록 구성되어 있습니다. 이전 푸시로 이미 워크플로우가 트리거되었지만, 환경 변수를 업데이트하고 다시 트리거하는 것이 얼마나 쉬운지 살펴보겠습니다.
- WebIDE 에서
.github/workflows/env-demo.yml파일을 엽니다. GREETING의 값을"Hello"에서"Hi"로 변경합니다.
env:
GREETING: "Hi"
- 이 변경 사항을 커밋하고 푸시합니다:
git add .github/workflows/env-demo.yml
git commit -m "Update greeting variable"
git push
인증 참고 사항:
최근에 인증하지 않았다면, git push를 실행할 때 WebIDE 가 자동으로 인증을 요청할 것입니다. 이전 단계에서 설명한 것과 동일한 인증 단계를 따르십시오.
개인 정보 보호 참고 사항: WebIDE 는 인증 목적으로 귀하의 GitHub 계정에 대한 전체 액세스를 요청할 것입니다. 개인 정보 보호에 대해 걱정할 필요가 없습니다. LabEx VM 은 현재 랩을 완료하는 즉시 파기되며, 귀하의 자격 증명 및 권한 정보는 유지되지 않습니다.
이 푸시는 업데이트된 변수로 워크플로우의 새 실행을 트리거합니다.
GitHub 에서 실행 로그의 환경 변수 출력 확인
코드를 푸시하면 GitHub 에서 워크플로우가 자동으로 트리거됩니다. 워크플로우 실행 로그를 확인하여 환경 변수가 올바르게 사용되고 있는지 확인할 수 있습니다.
- 웹 브라우저에서 GitHub 의 저장소로 이동합니다:
https://github.com/your-username/github-actions-demo - 저장소 페이지 상단의 Actions 탭을 클릭합니다.
- "Update greeting variable"로 이름이 지정된 새로운 워크플로우 실행이 목록에 표시되어야 합니다.
참고: 코드를 푸시할 때 저장소에 여러 워크플로우 파일이 있는 경우 여러 Actions 가 트리거될 수 있습니다. 왼쪽 사이드바에서 워크플로우 이름을 확인하거나 오른쪽의 워크플로우 실행 목록을 사용하여 올바른 워크플로우 실행을 식별하십시오.
- 실행 제목을 클릭한 다음 print-greeting 작업을 클릭합니다.
- Print Greeting 단계를 확장하여 출력을 확인합니다.
다음과 같은 명령 실행을 볼 수 있습니다:
Run echo "Hi, World!"
echo "Hi, World!"
shell: /usr/bin/bash -e {0}
Hi, World!
${{ env.GREETING }}이 새 값인 Hi로 대체되었는지 확인하십시오.

요약
본 랩 (lab) 에서는 환경 변수 (environment variables) 를 사용하는 GitHub Actions 워크플로를 성공적으로 생성했습니다. 다음 사항들을 배웠습니다:
env키워드를 사용하여 워크플로 수준에서 환경 변수를 정의하는 방법.${{ env.VARIABLE_NAME }}구문을 사용하여 단계 (step) 에서 이러한 변수에 접근하는 방법.- 변수를 업데이트하고 변경 사항을 푸시하여 워크플로를 다시 트리거하는 방법.
환경 변수는 하드 코딩된 명령어 로직을 변경하지 않고도 환경이나 실행 간에 변경될 수 있는 구성 값을 관리하는 데 필수적입니다.



