[CI/CD]GitHub Action
Github 레포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화, 사용자 지정 및 실행 가능케 함
CI/CD 포함, 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유, 완전히 사용자 정의된 워크플로에서 작업을 결함을 가능케 함
GitHub Action
Github가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼
https://docs.github.com/en/actions
레포지토리에서 Pull Request
나 push
같은 이벤트를 트리거로 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는 유닛 테스트 과정. 작성한 코드가 요구사항 충족을 위한 최소한의 조건을 만족했는지 확인
댓글남기기