개발 작업 :
1. IDE에서 코딩
2. 빌드
3. 테스트
4. 배포!
이후 버그가 발생하면 1번부터 다시 실행하게 됨...
지속적인 통합
코딩, 빌드, 테스트를 의미하는 것.
지속적인 제공 / 배포
Github 에 Push, Pull Request 등 특정 이벤트
가 발생하면 테스트코드가 자동으로 실행되게 하여 버그를 잡아낼 수 있음.
=> Github에서 바로 커밋을 해도 적용이 가능함!
우측 위의 Create Status Badge를 클릭하면 링크를 카피할 수 있는데
README.md등에 붙여 넣으면 디버그 테스트를 성공했다고 이미지를 띄울 수 있음!
템플릿을 사용하기 위한 용어정리
Workflow > Job > Step > Action
Workflow안에 Job이 포함되는 개념
기본적으로 워크플로우를 생성하면 위와같은 경로에 저장됨.
name: Node.js Package
on:
push :
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm ci
- run: npm test
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
on:
push :
branches: [main]
어떤 이벤트에 이 yml파일을 실행할지.
위의 경우에는 main 브랜치에 푸시가 될 때 이 파일이 실행되는 것.
이외에도 PR등 여러 이벤트를 지정할 수 있으며 공식 문서에 상세히 나와있음.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
Repo에 올라온 코드를 우분투 환경으로 받는 과정
- run: npm ci
- run: npm publish
run : 실행할 명령어
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
깃허브에서 설정부분의 Screts => Actions로 들어가면 key와 value를 지정해 환경 변수에 들어갈 만한 비밀값을 넣을 수 있음.
EC2 인스턴스로 연결하는 경우 pem키 등이 들어갈 수 있는 것임!
위와 같은 경우 npm_token이라는 Key에 원하는 value를 넣어 사용할 수 있음.