티스토리 뷰

[9주차 과제]

1. TDD란 (내 포폴에 TDD 적용해보기)

2. CI/CD란 (Github Actions 통해서 배포 후 디스코드 채널로 알림 오도록 설정)


2. CI/CD (Continuous Integration / Continuous Delivery·Deployment)

 

CI/CD = 코드 변경을 자동으로 빌드 → 테스트 → 배포까지 이어지게 만드는 개발 관행

// 수동으로 하면 시간 오래 걸리고 실수도 늘어남.

CI/CD는 이걸 자동화해서 버그 조기 발견하고 배포를 안전하게 만듦

 

CI (Continuous Integration, 지속적 통합)

-> 개발자가 작성한 코드를 중앙 저장소에 자주 병합하는 관행.

병합될 때마다 자동으로 빌드 + 테스트 실행 됌.

 

CD (Continuous Delivery·Deployment, 지속적 제공·배포)

CI를 통과한 코드를 배포 단계까지 자동화한 것. 두 가지로 나뉜다.

 

Continuous Delivery (지속적 전달)

-> CI를 통과한 코드를 언제든 배포 가능한 상태로 자동 준비

(단, 프로덕션 배포는 사람이 수동 승인)

 

Continuous Deployment (지속적 배포)

-> 사람의 개입 없이 테스트 통과한 코드는 자동으로 프로덕션에 배포

(가장 높은 자동화 단계)


# Github Action이란

Github Action = GitHub에 내장된 CI/CD 및 워크플로우 자동화 플랫폼

 

// (공식문서) 빌드·테스트·배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼으로,

저장소의 모든 풀 리퀘스트를 빌드하고 테스트하거나,

병합된 코드를 프로덕션에 배포하는 워크플로우를 만들 수 있다.

 

*CI/CD 도구를 넘어서, 저장소에서 발생하는 다양한 이벤트에 반응해 작업 실행 가능

(예: 이슈 자동 라벨링, PR 머지 시 알림, 정해진 시간에 스크립트 실행 등)

 

동작 방식 = 이벤트 기반(Event-driven)

흐름) 이벤트 발생 → 워크플로우 실행 → Job 실행 → Step 실행

 

// 저장소에 push, pull request, issue 생성 같은 이벤트가 발생하면,

github/workflows/ 폴더에 정의된 YAML 워크플로우 파일이 자동으로 실행된다.


# Github Action 통해서 배포 되면, 내 디스코드 채널에 알림 오게끔 설정해보기

 

[전체 작업 흐름]

1. Discord 채널 웹훅(Webhook) URL 만들기

2. GitHub 저장소 Secrets 웹훅 URL 등록

3. .github/workflows/deploy-notify.yml 작성

4. main push해서 동작 확인

5. 디스코드에 알림 도착 확인

 

참고로 배포는 Vercel이 함. Gihub Actions는 push 이벤트 발생 시 감지만 함.

// push 이벤트를 배포 신호로 보고 알림 가도록 설정

git push -> Vercel 배포 시작 -> Githup Actions가 push 감지 -> Discord 알림


1. Discord 채널 웹훅(Webhook) URL 만들기

 

웹훅 = 외부에서 특정 URL에 메시지를 보내면, 디스코드 채널에 자동으로 뜨게 해주는 통로

 

우선 디스코드 서버와 채널 준비(디스코드 영어로 설정됨)

Create My Own -> For me and my friends 클릭 - > 서버 이름 입력 후 생성

 

 

Edit Channel 클릭 후 Integrations(연동) 클릭

-> Create Web Hook 클릭

 

이름 설정해주고 Webhook URL 복사하기

(참고로 이 URL은 노출되면 안 됨. 비밀번호처럼 사용)

-> Discord Webhook URL을 .env.local에 추가

Ctrl + C 눌러서 서버 종료 후 다시 서버 시작(npm run dev)

 

#웹훅 동작테스트 해보기(터미널)

(참고: clear 입력하면 터미널 정리 된다)

 

curl -v -H "Content-Type: application/json" -d '{"content":"테스트 메시지입니다"}' 내URL주소

HTTP/2 204 응답 나오면 성공

테스트 메시지 확인


2. GitHub 저장소 Secrets 웹훅 URL 등록

웹훅 URL은 비밀번호급 보안 정보라서 워크플로우 YAML 파일에 그대로 적으면 안 됌

(Github 저장소에서 보고 악용 가능)

-> GitHub Secrets에 등록(암호화 저장, 로그에도 자동으로 가려짐)

 

Github 포트폴리오 저장소 가서 settings(레포 설정)

-> Secrets and variables → Actions 클릭

-> "New repository secret" 버튼 클릭 후 입력 -> Add Secret


3. .github/workflows/deploy-notify.yml 작성

폴더구조

터미널에 입력

mkdir -p .github/workflows
touch .github/workflows/deploy-notify.yml

 

deploy-notify.yml 파일 안에 워크플로우 코드 입력

워크플로우 코드(클로드가 작성)


4. main에 push해서 동작 확인

git add .  →  git commit  →  git push  →  GitHub Actions 실행 →  디스코드 알림

 

git add .github/workflows/deploy-notify.yml
git commit -m "ci: add discord notification on deploy"

 

git push

 

Actions 탭 체크


5. 디스코드에 알림 도착 확인

성공!

 

 # 한 줄 요약

포트폴리오의 main 브랜치에 push가 일어날 때마다,

GitHub Actions가 자동으로 디스코드 채널에 배포 알림을 보내도록 자동화 파이프라인을 구축

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함