천쓰의 개발동산

GITHUB ACTION을 통한 자동으로 잔디 심기 [깃헙액션 연습] 본문

배포 & CICD

GITHUB ACTION을 통한 자동으로 잔디 심기 [깃헙액션 연습]

인천쓰 2024. 6. 29. 10:22
반응형
GitHub Actions는 GitHub 리포지토리에서 CI/CD(Continuous Integration/Continuous Deployment)를 자동화하는 도구입니다. 이를 사용하면 코드의 빌드, 테스트, 배포와 같은 반복적인 작업을 자동화할 수 있습니다. GitHub Actions는 YAML 파일을 사용하여 워크플로우를 정의합니다. 여기서는 GitHub Actions의 기본 개념과 설정 방법에 대해 설명하겠습니다.

GitHub Actions 기본 개념

  • 워크플로우(Workflow): 하나 이상의 작업을 포함하는 자동화 프로세스입니다. 워크플로우 파일은 .github/workflows 디렉토리에 저장됩니다.
  • 잡(Job): 워크플로우 내에서 실행되는 하나의 단위 작업입니다. 각 잡은 여러 단계(Step)로 구성됩니다.
  • 단계(Step): 잡 내에서 실행되는 개별 명령어 또는 작업입니다.
  • 이벤트(Event): 워크플로우를 트리거하는 GitHub 이벤트입니다. 예를 들어, push, pull_request, schedule 등이 있습니다.
  • 러너(Runner): 워크플로우를 실행하는 환경입니다. GitHub에서 제공하는 호스티드 러너 또는 자체 호스팅 러너를 사용할 수 있습니다.

GitHub Actions 설정 방법

1. 리포지토리 생성

먼저 GitHub에서 새로운 리포지토리를 생성합니다. 기존 리포지토리에서도 설정할 수 있습니다.

 

2. 워크플로우 파일 생성

리포지토리의 루트 디렉토리에 .github/workflows 디렉토리를 생성하고, 그 안에 YAML 파일을 생성합니다. 예를 들어, ci.yml 파일을 생성합니다. 푸시되거나 풀 리퀘스트가 생성될 때마다 트리거되는 간단한 CI 워크플로우입니다 .

 

name: CI

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14'

    - name: Install dependencies
      run: npm install

    - name: Run tests
      run: npm test

 

Ubuntu 환경에서 실행되며, 코드 체크아웃, Node.js 설치, 종속성 설치, 테스트 실행을 단계별로 수행합니다

 

자 이정도가 깃헙액션의 기본 내용입니다 .

이제 내용을 알았으니 실전 투입!

 

 

스케줄을 먼저걸어볼껀데요, UTC 를 기준으로 하기때문에 08시로 했다가 안되는 상황이되어 23시로 진행하였습니다 ㅎ그리고 깃헙액션을 사용할때 물을 뿌려줘야할 파일에 권한처리를해줘야 했기 때문에 글을 쓸수있는 권한을 넣어주었습니다, 그리고 수동 실행트리거는 테스트를위해 넣어주었습니다 .

 

 

그이후는 작업을 설정하여 단계를 밟으면 됩니다.

actions/checkout@v3란 무엇인가?

actions/checkout@v3는 GitHub Actions에서 가장 많이 사용되는 액션 중 하나로, 리포지토리의 코드를 워크플로우 실행 환경으로 가져오는 역할을 합니다. 이 액션은 워크플로우가 시작될 때 소스 코드를 체크아웃(checkout)하여, 후속 단계들이 그 코드를 기반으로 작업할 수 있도록 합니다.

 

맞다 권한 때문에 개인 클래식 토큰이 필요한데, 토큰을 받고 집어넣는다 선언하고

 git add .github/reminder.txt 파일을 추가 > 커밋 > 연결 > 푸쉬 하면 

오전 08시부터 자동으로 잔디가 심어지게된다 !! 

 

반응형

'배포 & CICD' 카테고리의 다른 글

개인정보방침 ( TEST )  (1) 2024.01.11