Git Action CI (Test Code 검증, 실패 처리)

2022. 7. 27. 16:13git

로컬에서 Jest 와 같은 테스트 라이브러리를 이용하여 테스트를 진행하고 나온 테스트 파일을 Git Action에서 Test를 진행한다.

 

ex) yml 파일 예시

on:
  push:
    branches:
      - test
env:
  CRYPTO: ${{ secrets.CRYPTO }}
  JWT: ${{ secrets.JWT }}
  PORT: ${{ secrets.PORT }}

jobs:
  build:
    runs-on: ubuntu-latest

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

      - name: Set up Node.js version
        uses: actions/setup-node@v1
        with:
          node-version: '16.x'

      - name: Download Static File
        run: |
          mkdir data
          curl -o ${{github.workspace}}/data/coco.json https://test.net/back-data/coco.json
          curl -o ${{github.workspace}}/data/daily.json https://test.net/back-data/daily.json

      - name: Install packages
        run: npm i

      - name: Run Unit Test
        run: npm run test

      - name: CI Fail
        uses: toko-bifrost/ms-teams-deploy-card@3.1.2
        with:
          github-token: ${{ github.token }}
          webhook-uri: ${{ secrets.TEAMS }}
          card-layout-exit: complete
        if: failure()

 

1. 순서

 

steps : 내용

  1. - name: Set up Node.js version  [ node 설치 ]
  2. - name: Download Static File [ 서버에 들어가는 static file 다운로드 ]
  3. - name: Install packages [ npm install ]
  4. - name: Run Unit Test [ 테스트 진행 ex) npm run test ]
  5. - name: CI Fail [ 테스트 실패 ]

2. 설명

 

2-1. 같은 테스트 환경을 만들기 위해 아래 항목을 진행

- name: Set up Node.js version  [ node 설치 ]

- name: Download Static File [ 서버에 들어가는 static file 다운로드 ]

- name: Install packages [ npm install ]

 

2-2. 테스트 진행 

- name: Run Unit Test [ 테스트 진행 ex) npm run test ]

로컬에서 사용하는 package.json scripts문에 test를 돌릴 때 사용하는 명령문을 실행 한다.

 

 

2-3. 테스트 실패

- name: CI Fail [ 테스트 실패 ]

테스트 실패 했을 때 메신저 ( Teams )로 실패 알람을 발생 시키는 코드 이다.

 

Teams 연결 방법 : 0000

 

* if: failure()

문장이 에러가 발생하면 실행이 되는 문장이다.

만약 성공했다면 실행되지 않는다.

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형