GITHUB ACTION을 통한 자동으로 잔디 심기 [깃헙액션 연습]
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시부터 자동으로 잔디가 심어지게된다 !!