티스토리 뷰
[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

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

# 한 줄 요약
포트폴리오의 main 브랜치에 push가 일어날 때마다,
GitHub Actions가 자동으로 디스코드 채널에 배포 알림을 보내도록 자동화 파이프라인을 구축
'AI스쿨 > 알토르과정' 카테고리의 다른 글
| [알토르] 9주차 추가과제 : SEO & AEO (4) | 2026.05.02 |
|---|---|
| [알토르] 9주차(1) : 포트폴리오에 TDD 적용해보기 (0) | 2026.04.30 |
| [알토르] 8주차 추가과제 : JSON 응답 고정하고 추천 질문 받기 (2) | 2026.04.25 |
| [알토르] 8주차 과제 : Next.js에서 API 만들기 (0) | 2026.04.22 |
| [알토르] 7주차 : Flask API 서버 배포 및 Vercel 연동 (0) | 2026.04.19 |
