GitHub Actions 기본 문법 정리

artp·2024년 9월 20일

CI/CD

목록 보기
2/9
post-thumbnail

실습을 위한 YML 파일 생성

프로젝트를 하나 생성한 후 실습을 위해 최상단 디렉터리에 .github 라는 폴더를 생성하고, 그 아래에 workflows 라는 폴더를 생성합니다. 그리고 workflows 폴더 안에 yml 파일을 생성합니다.
❗️반드시 위의 디렉터리 생성 설정을 준수해야 합니다.

yml 파일 이름은 자유롭게 작성해도 괜찮습니다.

YML 파일 코드 설명

name 속성

name: Deploy To EC2
  • 워크플로의 이름을 지정합니다.
  • 나중에 GitHub 리포지토리의 Actions 탭에서 워크플로 목록을 확인할 때, name 속성에 지정한 이름으로 표시됩니다.
  • 예: Deploy To EC2라는 이름으로 표시됩니다.

들여쓰기 주의

  • YML(YAML) 파일에서 들여쓰기는 공백으로 이루어지며, 탭(tab)이 아닌 스페이스를 사용해야 합니다.
  • 들여쓰기가 잘못되면 실행 시 오류가 발생할 수 있으므로 주의해야 합니다.

on:

on:
  push:
    branches:
      - main
  • 이 코드는 워크플로를 실행할 조건을 정의합니다.
  • 여기서는 main 브랜치에 푸시(push)가 발생했을 때 워크플로가 실행됩니다.
  • 프로젝트 터미널에서 다음 명령어를 실행하면 트리거됩니다.
    git push origin main

jobs:

jobs:
  deploy:
  • 워크플로에서 수행할 작업(Job)을 정의합니다.
  • deploy는 Job의 고유한 이름입니다.
  • 여러 개의 Job을 정의할 수 있으며, 기본적으로 병렬로 실행됩니다.

runs-on:

runs-on: ubuntu-latest
  • Job이 실행될 환경을 지정합니다.
  • ubuntu-latest는 최신 버전의 우분투(Ubuntu) 환경을 의미하며, GitHub Actions에서 제공하는 기본 실행 환경 중 하나입니다.

steps:

steps:
  - name: GitHub Repository 파일 불러오기
    uses: actions/checkout@v4
  • Job 내에서 실행할 작업들을 Step으로 나눕니다.
  • Step은 순차적으로 실행되며, 각 Step은 name: 속성으로 설명을 추가할 수 있습니다.
  • 예시에서는 actions/checkout@v4 액션을 사용하여 GitHub 리포지토리의 코드를 불러옵니다.

run:

- name: 여러 명령어 실행하기
  run: |
    echo "Good"
    echo "Morning"
  • run 속성은 셸 명령어를 실행하는 데 사용됩니다.
  • 여러 줄의 명령어를 작성하려면 run: |를 사용하고, 아래에 실행할 명령문을 차례로 나열합니다.
  • 위의 예는 두 줄의 명령어(echo "Good"echo "Morning")를 순서대로 실행합니다.

GitHub Actions 내장 변수

GitHub Actions에는 자체적으로 가지고 있는 내장 변수들이 있습니다. 대표적인 내장 변수로는 GITHUB_SHA(깃허브 커밋의 아이디 값), GITHUB_REPOSITORY(깃허브 리포지토리 이름) 등이 있습니다.

GitHub Actions Secret 변수 사용

리포지토리 설정에서 노출하면 안 되는 값을 secret 값으로 저장하여 yml 파일 내에 작성할 수 있습니다.
예를 들어, MY_HOBBY라는 이름으로 secret 값을 저장했으면, yml 파일에서는 ${{ secrets.MY_HOOBY }} 라고 코드를 작성하면 됩니다.

실습을 통한 설명

아래의 실습 스크린샷을 통해 위에서 설명한 내용들에 대해 더 자세히 알아보도록 하겠습니다.

GitHub Actions YML 파일 전체 내용

워크플로 확인

  • 깃허브 리포지토리 Actions 메뉴에서 name 속성으로 작성한 워크플로 이름을 확인할 수 있습니다.

Job 확인

  • 워크플로 내부로 들어가보면 Job을 식별하기 위한 ID값(Job의 이름)이 잘 적용되어 있는 것을 확인할 수 있습니다.

Step 확인

  • Job 내부로 들어가보면 작성한 여러 Step들과 각 Step의 이름, GitHub Actions 내장 변수가 잘 출력된 것을 확인할 수 있습니다.

GitHub Actions Secret 값 설정 및 확인

  • GitHub 내부에서 Secret 값을 설정하고, 이를 yml 파일에 작성하였을 때 어떻게 보이는지 출력값을 확인할 수 있습니다.
  • GitHub Action에서 설정한 secret값은 보이지 않는 것을 확인할 수 있습니다.
profile
donggyun_ee

0개의 댓글