Github 레포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화, 사용자 지정 및 실행 가능케 함

CI/CD 포함, 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유, 완전히 사용자 정의된 워크플로에서 작업을 결함을 가능케 함


GitHub Action

Github가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼

https://docs.github.com/en/actions

레포지토리에서 Pull Requestpush 같은 이벤트를 트리거로 GitHub 작업 워크플로(Workflow) 구성 가능

워크플로는 하나 이상의 작업이 실행되는 자동화 프로세스로, 각 작업은 자체 가상 머신 또는 컨테이너 내부에서 실행됨

.yml (혹은 .yaml ) 파일에 의해 구성, 테스트, 배포 등 기능에 따라 여러개의 워크플로도 가능

생성된 워크플로는 .github/workflows 디렉토리 이하에 위치

비공개 레포지토리는 Github Actions가 작동할 때 용량과 시간 제한

공개 레포지토리는 무료


` git clone git@github.com:codestates-seb/fe-sprint-my-agora-states-server-reference.git

cd fe-sprint-my-agora-states-server-reference

git remote add myRepo git@github.com:{여러분의 아이디}/{새로운 리포지토리 이름}.git

git push myRepo reference `

EC2와 같은 하나의 가상 인스턴스를 실행시켜서 원하는 작업 실행. 리포지토리를 push만 했는데 작동한 이유

./.github/workflows/pullRequest.yml 에 명시되어 있음

name: Bare Minimum Requirements

# 언제 job을 작동시킬지
on: [push, pull_request]

# 어떤 job을 할지
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Bare Minimum Requirements
        uses: actions/setup-node@v1
        with:
          node-version: '16'
      - run: npm install
      - run: npm test
  • npm install은 빌드를 위한 준비과정. Node.js로 만든 서버 애플리케이션은 npm으로 관련 오픈소스 모두 설치해야 작동
  • npm test는 유닛 테스트 과정. 작성한 코드가 요구사항 충족을 위한 최소한의 조건을 만족했는지 확인

댓글남기기