Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NDD-33]: 백엔드 CI 스크립트 작성 (1h / 1h) #5

Merged
merged 1 commit into from
Nov 6, 2023
Merged

[NDD-33]: 백엔드 CI 스크립트 작성 (1h / 1h) #5

merged 1 commit into from
Nov 6, 2023

Conversation

JangAJang
Copy link
Collaborator

How

name: backend CI // CI툴 이름
on:
  pull_request:
    branches: [feat/back] // 해당 브랜치에 대한 pull request가 왔을 때 해당 CI툴이 동작한다.
jobs:
  test:
    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: 18.x
      - name: Install dependencies
        run: npm ci
      - name: Run tests
        run: npm test
  deploy:
    needs: test
    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: 18.x
      - name: Install dependencies
        run: npm ci
      - name: Start the NestJS server
        run: npm start

해당 방식은 jobs라는 동작들이 존재하고, 이에 대한 순차를 정해줄 수 있다.
현재의 방식은 deploy라는 job은 test를 통과하고 나서 동작하게 정해둔 상태이다.
해당 방식을 정하지 않으면, 두 과정이 병렬적으로 일어난다.

Prize

백엔드 pull request시에 전체 단위/통합 테스트 자동으로 동작
이에 따른 기존 로직에 대한 영향 확인 및 검증가능

Link

(NDD-33) https://milk717.atlassian.net/browse/NDD-33

@JangAJang JangAJang self-assigned this Nov 6, 2023
@JangAJang JangAJang added the BE 백엔드 코드 변경사항 label Nov 6, 2023
Copy link
Collaborator

@quiet-honey quiet-honey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI 스크립트 제대로 보는건 처음이네요! 고생하셨습니다!!

@quiet-honey quiet-honey merged commit 2b20971 into boostcampwm2023:main Nov 6, 2023
quiet-honey added a commit that referenced this pull request Nov 7, 2023
Co-authored-by: JangAJang <99702271+JangAJang@users.noreply.github.com>
JangAJang added a commit that referenced this pull request Nov 7, 2023
* feat: 모든 엔티티에서 상속받아 사용할 수 있는 DefaultEntity 생성

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: DefaultEntity를 상속받는 Member 객체 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원을 DB에 저장하고 조회하기 위한 리포지토리 모듈 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* refactor: MemberRepository를 다른 모듈에서 사용하게 exports추가

* refactor: process.env를 사용하기 위한 dotenv/config추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: class-validator가 전역적으로 동작하게 main.ts에 pipe 추가

* refactor: Member객체의 프로필 사진 url의 경우를 고려해 길이확장

* feat: member모듈에서 리포지토리를 가져와 사용하는 Auth 모듈 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: memberRepository를 외부에서 받아와 사용하는 auth 모듈 추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* build: oauth를 위한 passport 라이브러리 추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: passport strategy를 통해 OAuth에서 회원 정보를 불러오는 플로우 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* refactor: 구글글 OAuth를 요청할 때, 회원의 이미지 파일과 성명 전체를 받도록 기능 수정

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: Entity의 생성 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: OAuth에서 회원 존재 여부를 검증하기 위한 리포지토리 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그인 로직 함수 추가 && 내부에 워크플로우 정리

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원가입을 위해서 DB 조회후 검증하는 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원이 없을때 회원을 생성하는 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원이 없을 isEmpty라는 validator의 디폴트 로직을 통해 검증하고 회원데이터를 반환하는 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* chore: swagger가 메인 프로젝트에 실행되게 코드 추가

* chore: release drafter 설정 추가 (#4)

- be fe 모두 하나의 카테고리로 관리
- dev 브랜치에 머지될때 실행

* feat: 상대 경로 설정 (#6)

* [NDD-58] 테마 시스템 정의 (3h/3h) (#9)

* feat: emotion ThemeProvider 추가하고 color, typography 추가

- colorChips에 있는 색상은 프로젝트에서 바로 사용하지 않습니다.
- colorChips에 있는 색상을 활용해서 color 시스템을 구성합니다.

* feat: emotion global 스타일에 resetCss 추가

* feat: emotion global 스타일에 pretendard 웹폰트로 적용

* rename: resetCss -> _global 로 이름 변경

* chore: 경로 별칭에 styles 디렉터리 추가

* docs: 백엔드 CI툴 구현 (#5) (#7)

Co-authored-by: JangAJang <99702271+JangAJang@users.noreply.github.com>

* feat: JWT를 구현하기 위한 모듈 추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* fix: 충돌 코드 수정

* [NDD-76] 테마 시스템에 그림자 추가 (0.3 / 1h) #10

* feat: 테마 시스템에 shadow 추가

* Squashed commit of the following:

commit 5b6eac6
Author: Sumin <57657868+milk717@users.noreply.github.com>
Date:   Tue Nov 7 13:15:08 2023 +0900

    [NDD-76] 테마 시스템에 그림자 추가 (0.3 / 1h) #10

    * feat: 테마 시스템에 shadow 추가

commit fd35fdf
Author: quiet-honey <99426344+quiet-honey@users.noreply.github.com>
Date:   Tue Nov 7 12:19:13 2023 +0900

    docs: 백엔드 CI툴 구현 (#5) (#7)

    Co-authored-by: JangAJang <99702271+JangAJang@users.noreply.github.com>

commit dfc1fd9
Author: Sumin <57657868+milk717@users.noreply.github.com>
Date:   Mon Nov 6 22:25:34 2023 +0900

    [NDD-58] 테마 시스템 정의 (3h/3h) (#9)

    * feat: emotion ThemeProvider 추가하고 color, typography 추가

    - colorChips에 있는 색상은 프로젝트에서 바로 사용하지 않습니다.
    - colorChips에 있는 색상을 활용해서 color 시스템을 구성합니다.

    * feat: emotion global 스타일에 resetCss 추가

    * feat: emotion global 스타일에 pretendard 웹폰트로 적용

    * rename: resetCss -> _global 로 이름 변경

    * chore: 경로 별칭에 styles 디렉터리 추가

commit 383fb3c
Author: 이성인 <seoungin1228@gmail.com>
Date:   Mon Nov 6 16:58:38 2023 +0900

    feat: 상대 경로 설정 (#6)

commit 2cd35c0
Author: YoonHaeMin <yunhatmi@gachon.ac.kr>
Date:   Mon Nov 6 14:42:13 2023 +0900

    chore: release drafter 설정 추가 (#4)

    - be fe 모두 하나의 카테고리로 관리
    - dev 브랜치에 머지될때 실행

* feat: token을 저장하고 access token으로 조회하는 repository 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* refactor: jwt -> token으로 모듈명 수정

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원의 로그인 할 때, 토큰을 생성하고, access token을 반환하는 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그인 요청시에 토큰을 반환하도록 동작하는 동작 기능 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* refactor: 기존 토큰 응답에서 Bearer prefix를 담도록 기능 수정

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그인 시에 토큰을 json으로, accessToken이라는 키로 반환하도록 기능 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* docs: swagger문사화를 위한 데코레이터 추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그아웃을 위한 비즈니스 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: Guard에서 사용하기 위한 jwt strategy 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그아웃에 대한 전체 플로우 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* style: lint 처리

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 토큰의 상황에 대한 커스텀 Exception구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 토큰 재발행을 위한 비즈니스 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 토큰을 재발행해 json으로 클라이언트에 반환하는 기능 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* [NDD-75] foundation 컴포넌트 디자인 구현 (1h/1h) (#11)

* feat: element의 기본 props를 지정해주는 유틸 타입 추가

* design: Avatar 컴포넌트 생성

- theme을 이용해서 색상 정의
- 세부 디자인은 외부에서 주입할 수 있도록 구현

* feat: InputArea 컴포넌트 생성

- theme을 이용해서 색상 정의
- 세부 디자인은 외부에서 주입할 수 있도록 구현

* feat: color system추가

- 버튼 hover시 색상 추가
- 색상 값에 as const를 붙여 hove시 색상 값이 노출 되도록 설정

* feat: button 컴포넌트 생성

- theme을 이용해서 색상 정의
- 세부 디자인은 외부에서 주입할 수 있도록 구현

* feat: Box 컴포넌트 생성

- theme을 이용해서 색상 정의
- 세부 디자인은 외부에서 주입할 수 있도록 구현

* [NDD-57] MSW로 서버 mocking하기 (5h/5h) (#12)

* chore: msw 세팅 추가

* test: msw 실행하도록 설정

* feat: api 엔드포인트 상수화

- id가 들어가야 하는 경우 함수를 이용해 동적으로 상수 생성

* test: member api mocking 추가

* fix: api 상수에서 파라미터를 선택적으로 사용하려면 ?를 추가해야함

* test: question api mocking 추가

* test: answer api mocking 추가

* test: handler 연결해서 하나로 통합

* test: dummy endpoint설정

논의 중인 내용은 작성 하지 않음

---------

Co-authored-by: quiet-honey <skap0329@naver.com>
Co-authored-by: YoonHaeMin <yunhatmi@gachon.ac.kr>
Co-authored-by: 이성인 <seoungin1228@gmail.com>
Co-authored-by: Sumin <57657868+milk717@users.noreply.github.com>
Co-authored-by: quiet-honey <99426344+quiet-honey@users.noreply.github.com>
Yoon-Hae-Min added a commit that referenced this pull request Nov 11, 2023
* feat: 모든 엔티티에서 상속받아 사용할 수 있는 DefaultEntity 생성

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: DefaultEntity를 상속받는 Member 객체 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원을 DB에 저장하고 조회하기 위한 리포지토리 모듈 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* refactor: MemberRepository를 다른 모듈에서 사용하게 exports추가

* refactor: process.env를 사용하기 위한 dotenv/config추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: class-validator가 전역적으로 동작하게 main.ts에 pipe 추가

* refactor: Member객체의 프로필 사진 url의 경우를 고려해 길이확장

* feat: member모듈에서 리포지토리를 가져와 사용하는 Auth 모듈 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: memberRepository를 외부에서 받아와 사용하는 auth 모듈 추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* build: oauth를 위한 passport 라이브러리 추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: passport strategy를 통해 OAuth에서 회원 정보를 불러오는 플로우 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* refactor: 구글글 OAuth를 요청할 때, 회원의 이미지 파일과 성명 전체를 받도록 기능 수정

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: Entity의 생성 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: OAuth에서 회원 존재 여부를 검증하기 위한 리포지토리 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그인 로직 함수 추가 && 내부에 워크플로우 정리

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원가입을 위해서 DB 조회후 검증하는 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원이 없을때 회원을 생성하는 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원이 없을 isEmpty라는 validator의 디폴트 로직을 통해 검증하고 회원데이터를 반환하는 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* chore: swagger가 메인 프로젝트에 실행되게 코드 추가

* chore: release drafter 설정 추가 (#4)

- be fe 모두 하나의 카테고리로 관리
- dev 브랜치에 머지될때 실행

* feat: 상대 경로 설정 (#6)

* [NDD-58] 테마 시스템 정의 (3h/3h) (#9)

* feat: emotion ThemeProvider 추가하고 color, typography 추가

- colorChips에 있는 색상은 프로젝트에서 바로 사용하지 않습니다.
- colorChips에 있는 색상을 활용해서 color 시스템을 구성합니다.

* feat: emotion global 스타일에 resetCss 추가

* feat: emotion global 스타일에 pretendard 웹폰트로 적용

* rename: resetCss -> _global 로 이름 변경

* chore: 경로 별칭에 styles 디렉터리 추가

* docs: 백엔드 CI툴 구현 (#5) (#7)

Co-authored-by: JangAJang <99702271+JangAJang@users.noreply.github.com>

* feat: JWT를 구현하기 위한 모듈 추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* fix: 충돌 코드 수정

* [NDD-76] 테마 시스템에 그림자 추가 (0.3 / 1h) #10

* feat: 테마 시스템에 shadow 추가

* Squashed commit of the following:

commit 5b6eac6
Author: Sumin <57657868+milk717@users.noreply.github.com>
Date:   Tue Nov 7 13:15:08 2023 +0900

    [NDD-76] 테마 시스템에 그림자 추가 (0.3 / 1h) #10

    * feat: 테마 시스템에 shadow 추가

commit fd35fdf
Author: quiet-honey <99426344+quiet-honey@users.noreply.github.com>
Date:   Tue Nov 7 12:19:13 2023 +0900

    docs: 백엔드 CI툴 구현 (#5) (#7)

    Co-authored-by: JangAJang <99702271+JangAJang@users.noreply.github.com>

commit dfc1fd9
Author: Sumin <57657868+milk717@users.noreply.github.com>
Date:   Mon Nov 6 22:25:34 2023 +0900

    [NDD-58] 테마 시스템 정의 (3h/3h) (#9)

    * feat: emotion ThemeProvider 추가하고 color, typography 추가

    - colorChips에 있는 색상은 프로젝트에서 바로 사용하지 않습니다.
    - colorChips에 있는 색상을 활용해서 color 시스템을 구성합니다.

    * feat: emotion global 스타일에 resetCss 추가

    * feat: emotion global 스타일에 pretendard 웹폰트로 적용

    * rename: resetCss -> _global 로 이름 변경

    * chore: 경로 별칭에 styles 디렉터리 추가

commit 383fb3c
Author: 이성인 <seoungin1228@gmail.com>
Date:   Mon Nov 6 16:58:38 2023 +0900

    feat: 상대 경로 설정 (#6)

commit 2cd35c0
Author: YoonHaeMin <yunhatmi@gachon.ac.kr>
Date:   Mon Nov 6 14:42:13 2023 +0900

    chore: release drafter 설정 추가 (#4)

    - be fe 모두 하나의 카테고리로 관리
    - dev 브랜치에 머지될때 실행

* feat: token을 저장하고 access token으로 조회하는 repository 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* refactor: jwt -> token으로 모듈명 수정

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 회원의 로그인 할 때, 토큰을 생성하고, access token을 반환하는 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그인 요청시에 토큰을 반환하도록 동작하는 동작 기능 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* refactor: 기존 토큰 응답에서 Bearer prefix를 담도록 기능 수정

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그인 시에 토큰을 json으로, accessToken이라는 키로 반환하도록 기능 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* docs: swagger문사화를 위한 데코레이터 추가

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그아웃을 위한 비즈니스 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: Guard에서 사용하기 위한 jwt strategy 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 로그아웃에 대한 전체 플로우 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* style: lint 처리

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 토큰의 상황에 대한 커스텀 Exception구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 토큰 재발행을 위한 비즈니스 로직 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* feat: 토큰을 재발행해 json으로 클라이언트에 반환하는 기능 구현

Co-authored-by: quiet-honey <skap0329@naver.com>

* [NDD-75] foundation 컴포넌트 디자인 구현 (1h/1h) (#11)

* feat: element의 기본 props를 지정해주는 유틸 타입 추가

* design: Avatar 컴포넌트 생성

- theme을 이용해서 색상 정의
- 세부 디자인은 외부에서 주입할 수 있도록 구현

* feat: InputArea 컴포넌트 생성

- theme을 이용해서 색상 정의
- 세부 디자인은 외부에서 주입할 수 있도록 구현

* feat: color system추가

- 버튼 hover시 색상 추가
- 색상 값에 as const를 붙여 hove시 색상 값이 노출 되도록 설정

* feat: button 컴포넌트 생성

- theme을 이용해서 색상 정의
- 세부 디자인은 외부에서 주입할 수 있도록 구현

* feat: Box 컴포넌트 생성

- theme을 이용해서 색상 정의
- 세부 디자인은 외부에서 주입할 수 있도록 구현

* [NDD-57] MSW로 서버 mocking하기 (5h/5h) (#12)

* chore: msw 세팅 추가

* test: msw 실행하도록 설정

* feat: api 엔드포인트 상수화

- id가 들어가야 하는 경우 함수를 이용해 동적으로 상수 생성

* test: member api mocking 추가

* fix: api 상수에서 파라미터를 선택적으로 사용하려면 ?를 추가해야함

* test: question api mocking 추가

* test: answer api mocking 추가

* test: handler 연결해서 하나로 통합

* test: dummy endpoint설정

논의 중인 내용은 작성 하지 않음

---------

Co-authored-by: quiet-honey <skap0329@naver.com>
Co-authored-by: YoonHaeMin <yunhatmi@gachon.ac.kr>
Co-authored-by: 이성인 <seoungin1228@gmail.com>
Co-authored-by: Sumin <57657868+milk717@users.noreply.github.com>
Co-authored-by: quiet-honey <99426344+quiet-honey@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE 백엔드 코드 변경사항
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants