골든래빗은 더 탁월한 가치를 제공하는 콘텐츠 프로덕션 & 프로바이더 입니다. 골든래빗은 취미, 경제, 수험서, 만화, IT 등 다양한 분야에서 책을 제작하고 있습니다.골든래빗은 더 탁월한 가치를 제공하는 콘텐츠 프로덕션 & 프로바이더 입니다. 골든래빗은 취미, 경제, 수험서, 만화, IT 등 다양한 분야에서 책을 제작하고 있습니다.

GitHub Actions으로 배포 자동화해 보기(a.k.a CI/CD) – 2화

2023년 7월 5일조회 436

이 글은 《요즘 바이브 코딩 클로드 코드 완벽 가이드》에서 발췌했습니다.

요즘 바이브 코딩 클로드 코드 완벽 가이드

요즘 바이브 코딩 클로드 코드 완벽 가이드

ISBN 9791194383437지은이 최지호(코드팩토리)24,000
교보문고예스24알라딘

제어할 수 없는 것에 의존하면 변화에 민감한, 흔들리기 쉬운 소프트웨어가 됩니다. 반대로 프로그래머는 설계를 하는 데 있어 외부에 의존하는 영역을 줄일수록 큰 변화에도 쉽게 흔들리지 않는 견고한 소프트웨어를 개발할 수 있습니다. 습엔드 놉엔드 개발

GitHub Actions으로 배포 자동화해 보기(a.k.a CI/CD) – 2화

이 글은 [스프링 부트 3 백엔드 개발자 되기(자바 편)]에서 발췌했습니다.

골든래빗 출판사

CI/CD가 뭐냐고요? 쉽게 말해 개발자가 개발을 마치고, 애플리케이션을 빌드하고, 테스트를 하고, 원격 저장소에 코드를 업데이트하고, 이를 배포하는 등의 전 과정을 자동화하는 과정을 말합니다. 대부분의 실무 환경에서는 CI/CD를 진행하죠. 여기서는 깃허브 액션을 활용하여 CI/CD를 진행해봅니다.

본 글은 ‘GitHub Actions으로 배포 자동화해 보기’의 2편으로 깃허브 액션 스크립트를 작성하여 CI/CD를 구현하고, 정상적으로 작동하는지 확인해보겠습니다. CI/CD가 무엇인지, 깃허브 리포지터리 생성 및 코드를 푸시하는 방법이 궁금하시다면 ‘GitHub Actions으로 배포 자동화해 보기-1편‘을 참고해주세요.

1. 깃허브 액션 스크립트 작성하기, CI

이제 깃허브에 리포지토리가 준비되었으니 깃허브 액션 스크립트를 작성해 CI를 구현하겠습니다.

1단계

프로젝트 최상단에 .github 디렉터리를 만들어줍니다. 그 안에 workflows 디렉터리를 다시 만들고 ci.yml 파일을 생성해 다음 스크립트를 작성합니다.

workflow가 아니라 workflows입니다.

# 1 워크플로의 이름 지정 name: CI # 2 워크플로가 시작될 조건 지정 on: push: branches: [ main ] jobs: build: runs-on: ubuntu-latest # 3 실행 환경 지정 #4 실행스텝지정 steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: '17' - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew clean build

❶ 워크플로의 이름을 지정합니다. 이 워크플로는 CI를 실행하기 위한 스크립트의 모음이므로 CI 라고 지정했습니다. ❷ 워크플로를 시작할 트리거 조건을 지정합니다. main 브랜치에 푸시를 할 때마다 워크플로를 시작하도록 작성했습니다. ❸ 리눅스나 윈도우와 같은 실행 환경을 지정합니다. ❹ 실행 스텝을 그룹화 합니다. 각 항목은 별도의 작업(uses) 또는 명령어(run)로 이루어졌습니다.

▼ 실행 스텝 그룹화 정리

· uses : uses 키워드는 지정한 리포지토리를 확인하고 코드에 대한 작업을 실행할 수 있습니다. action/check-out에는 checkout이라는 작업의 v3 버전을 실행합니다.

· name : 스텝의 이름을 지정합니다.

· run : run 키워드는 실행할 명령어를 입력합니다. ./gradlew clean build에는 그레들을 사용해 프로젝트를 빌드 이전 상태로 돌리고 다시 빌드하는 명령어를 실행합니다.

2단계

추가된 파일을 원격 저장소에 올리기 위해 커밋, 푸시를 진행하고 깃허브 리포지터리의 [Action] 메뉴에 들어가 CI가 실행되는 것을 확인합니다.

$ git add . $ git commit -m "CI 추가" $ git push origin main

이 화면이 보이고 워크플로가 성공적으로 동작하면 초록색 체크 모양으로 표시됩니다. 여기까지 확인한 뒤에 CD 스크립트를 추가하겠습니다.

2. 깃허브 액션 스크립트 작성하기, CD

1단계

현재 프로젝트에서는 빌드를 진행하면 총 두 개의 jar 파일이 생깁니다. 하나는 일반 jar 파일이고 다른 하나는 plain이라는 접미사가 붙은 jar 파일입니다.

이 jar 파일은 플레인 아카이브(plain archive)라고 하며 애플리케이션 실행에 필요한 의존성을 포함하 지 않고 소스 코드의 클래스 파일과 리소스 파일만 포함합니다. 따라서 플레인 아카이브만으로는 서비스를 실행할 수 없으므로 빌드 시에 일반 jar 파일만 생성하도록 그레이들 파일을 변경하겠습니다.

▼ build.gradle

... 생략 ... jar { enabled = false }

2단계

깃허브 액션 스크립트에서 만든 ci.yml 파일 이름을 cicd.yml로 변경하고 다음 코드를 추가합니다.

name: CI/CD # 1 깃허브 액션 이름 변경 on: push: branches: [ main ] jobs: build:   runs-on: ubuntu-latest   steps:    - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: distribution: 'corretto' java-version: '17' - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew clean build #2 현재시간가져오기 - name: Get current time uses: josStorer/get-current-time@v2.0.2 id: current-time with: format: YYYY-MM-DDTHH-mm-ss utcOffset: "+09:00" # 3 배포용 패키지 경로 저장 - name: Set artifact run: echo "artifact=$(ls ./build/libs)" >> $GITHUB_ENV # 4 빈스토크 배포 - name: Beanstalk Deploy uses: einaregilsson/beanstalk-deploy@v20 with: aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} application_name: springboot-developer environment_name: springboot-developer-env version_label: github-action-${{steps.current-time.outputs.formattedTime}} region: ap-northeast-2 deployment_package: ./build/libs/${{env.artifact}}

❶ 깃허브 액션 이름을 CI에서 CI/CD로 변경합니다. ❷ josStorer/get-current-time 플러그인을 사용해 현재 시간을 가져옵니다. 가져온 시간은 배포 버전을 지정할 때 사용됩니다. ❸ 빌드 이후에 생성된 jar 파일을 찾아 “artifact”라는 환경 변수에 값을 넣어줍니다. $GITHUB_ ENV를 사용해 깃허브 워크플로 전체적으로 사용할 수 있는 환경 변수를 설정할 수 있습니다. ❹ einaregilsson/beanstalk-deploy 플러그인을 사용해 빈스토크 배포를 진행합니다. 여기에서 지정한 secrets.AWS_ACCESS_KEY_ID와 secrets.AWS_SECRET_ACCESS_KEY는 깃허브 액션에서 가져오는 비밀값입니다. 이 값은 AWS에서 만든 뒤 깃허브에서 설정해야 합니다. 또한 애플리케이션 이름(application_name)과 환경 이름(environment_name)은 일래스틱 빈스토크에서 확인할 수 있습니다.

3단계

IAM은 AWS 리소스를 사용하도록 권한을 부여하는 서비스입니다. AWS에 접속한 뒤 IAM 서비스를 검색해 접속한 다음 [사용자]를 클릭합니다. 그런 다음 [사용자 추가] 버튼을 눌러 사용자를 추가합니다. 사용자 이름은 github-action으로 지정합니다.

4단계

[다음]을 눌러 나온 권한 설정에서는 [직접 정책 연결]을 선택한 뒤 AdministratorAccess- AWSElasticBeanstalk를 검색해 선택합니다. 이 권한은 빈스토크를 사용하기 위해 필요한 모든 관리 권한을 사용자에게 제공하는 권한입니다. AdministratorAccess 권한은 너무 광범위하기 때문에 정말 필요한 권한만 주는 것이 좋지만 진행의 편의를 위해 해당 권한을 사용하겠습니다.

5단계

사용자 생성을 마치고 github-action 사용자를 눌러 액세스 키를 만듭니다. 조금만 스크롤바를 내리면 액세스 키 항목의 [액세스 키 만들기] 버튼을 찾을 수 있습니다. [서드 파티 서비스]를 선택하 고 [다음]을 누르고 ‘설명 태그 값’을 github-action으 로 해 액세스 키를 만드세요.

이 값들은 절대로 노출되면 안 되는 값이 므로 깃허브 리포지토리와 같은 공간에 올리지 않도록 주의해야 합니다.

6단계

그러면 액세스 키가 만들어집니다. 이 화면을 넘기지 마세요. 액세스 키는 이 화면에서 딱 한 번 확인할 수 있습니다. 값을 미리 복사하거나 [.csv 파일 다운로드]를 눌러 보관해주세요.

7단계

복사한 값을 등록하기 위해 깃허브 리포지토리에 접속한 뒤 [Settings → Secrets and variables → Actions] 순서로 메뉴에 들어갑니다. 그 이후에 [New repository secrets] 버튼 을 눌러 새로운 비밀 키를 각각 등록합니다.

8단계

깃허브에 커밋, 푸시를 하기 전에 민감한 값을 삭제하겠습니다. application.yml 파일 을 열어 비밀값으로 정의한 client-id와 client-secret, 그리고 jwt 항목을 삭제하세요.

9단계

cd가 정상적으로 작동하는 것을 확인하기 위해 커밋과 푸시를 차례대로 수행하고 확인합니다. 깃허브 액션이 성공하는 것을 확인할 수 있습 니다. 실제로 배포가 되었는지 확인하기 위해 빈스 토크의 최근 배포 날짜와 시간을 확인해보세요. 앞 으로 작업을 한 뒤 리포지터리에 업로드하면 깃허브 액션이 빌드를 자동으로 실행하고, 빌드에 성공하면 새 버전을 빈스토크에 배포할 겁니다.

$ git add . $ git commit -m "ci.yml > cicd.yml" $ git push origin main

깃허브 액션에서 ‘Error: Deployment failed: Error: Environment still has health Yellow 30 seconds after update finished!’라는 메시지가 나올수도있지만실습에는크게영향을주지않으므 로 이대로 마무리해도 좋습니다.

3. 결론

깃허브 액션을 사용해 코드가 변경될 때마다 자동으로 빌드되고 배포하는 방법을 실습했습니다. 이번 장에서 배운 깃허브 액션 플러그인 이외에도 사용할 수 있는 플러그인이 매우 많으니 적절하 게 사용하면 개발 생산성을 크게 올릴 수 있습니다. CI/CD는 실무에서 많이 사용하는 개념이니 꼭 이해해두는 게 좋습니다.

신선영

리멤버 백엔드 개발자. 하드 스킬과 소프트 스킬 역량을 강화하고자 부단히 공부하고 글로 남기는 백엔드 개발자입니다. 평일 기준 하루 평균 600뷰의 기술 블로그를 운영하고, 모교 학생을 대상으로 정기 세미나와 멘토링을 진행합니다. 구독자가 1,000명 정도 되는 사이드 프로젝트를 기획하고 개발하고 운영한 경험이 있습니다.

저자 블로그 shinsunyoung.tistory.com

저자 깃허브 github.com/shinsunyoung

AOP AWS BACKEND CI/CD CRUD DBMS DI GOOGLEAUTHGUARD GOOGLESTRATEGY HTTP 메서드 HTTP 헤더 IAM IOC JAVA JPA JWT OAUTH ORM PSA RDB RDS REST API RESTFUL API SPRINGBOOT3 VSCODE YAML 개발자 구글 로그인 깃허브 깃허브 액션 놉엔드 롬복 리포지토리 리프레시 토큰 백엔드 백엔드개발 비동기 처리 비주얼 스튜디오 코드 서버사이드 세션 스레드 스프링 스프링 데이터 JPA 스프링 부트 스프링 시큐리티 스프링부트3 스프링테스트 습엔드 엔티티 웹 개발 웹 프로그래밍 웹사이트 의존성 주입 인가 인증 일렉스틱 빈스토크 자바 자바11 자바8 컴공 코딩 콜백 쿠키 타임리프 테스트 템플릿 엔진 토큰 토큰 기반 인증 폴링 하이버네이트 홈페이지

Related News

[Agent] AI 에이전트 프로토콜, 구글 A2A 개념부터 원리 실습하기

[Python] 파이썬으로 엑셀 다루기 | ❷ 엑셀 데이터 사용하기

[Python] 파이썬으로 엑셀 다루기 | ❶ 엑셀 데이터 사용하기

[Python] 아나콘다 설치하기 | Anaconda, 파이썬, 주피터 노트북, 단축키

골든래빗 2023-07-05

📚 더 읽기

저자 소개

밀리만

한국 지사에서 소프트웨어 엔지니어로 일했습니다. 현재 주식회사 코드팩토리를 창업하여 개발을 하면서 초보자뿐만 아니라 현직 개발자에게도 유용한 개발 강의를 제작합니다. 〈2022 인프런 Rookie of the Year〉, 〈2023 베스트셀러〉, 〈2024 패스트캠퍼스 어워드〉를 수상했으며 2024년 기준 2만 명이 넘는 수강생을 보유하고 있습니다. _SNS __ Official : codefactory.ai __ Facebook : fb.com/serendipity111011 __ YouTube : youtube.com/@codefactory_official __ Blog : blog.codefactory.ai __ GitHub : github.com/orgs/codefactory-co __ : open.kakao.com/o/gg2S2GBc __ : open.kakao.com/o/gDUhYNDh _주요 저서 및 강의 __ 《코드팩토리의 플러터 프로그래밍(3판)》 __ 코드팩토리의 Flutter 앱개발 초급 __ 코드팩토리의 Flutter 앱개발 중급 __ 코드팩토리의 9시간만에 끝내는 Javascript 풀코스 __ 코드팩토리의 8시간만에 끝내는 Typescript 풀코스 __ 코드팩토리의 백엔드 아카데미 : 한 번에 끝내는 NestJS 패키지 - 기초부터 MSA까지

📚요즘 바이브 코딩 클로드 코드 완벽 가이드》 자주 묻는 질문

Q.클로드 코드가 기존 AI 코딩 도구와 어떤 점에서 차별화되나요? 왜 '바이브 코딩'이라는 표현을 사용하는지 궁금합니다.

클로드 코드는 단순히 코드를 생성해주는 도구를 넘어, 개발자와 긴밀하게 협업하며 '함께 만들어간다'는 느낌을 주는 AI 파트너입니다. 마치 숙련된 동료 개발자와 페어 프로그래밍을 하는 듯한 경험을 제공하죠. 기존 AI 코딩 도구들이 정해진 틀 안에서 코드를 찍어내는 데 집중했다면, 클로드 코드는 개발자의 의도를 정확히 파악하고, 창의적인 해결책을 제시하며, 지속적인 피드백을 통해 코드를 개선해나가는 능력이 뛰어납니다. '바이브 코딩'이라는 표현은 이러한 클로드 코드와의 협업 과정에서 느껴지는 긍정적인 에너지와 즐거움을 담아낸 것입니다. 개발자는 클로드 코드와 소통하며 아이디어를 발전시키고, 코딩 과정 자체를 즐길 수 있습니다. 이 책에서는 클로드 코드의 다양한 활용법과 함께, '바이브 코딩'을 경험하는 데 필요한 모든 노하우를 상세히 안내합니다. 특히 200달러 MAX 플랜을 활용하여 얻은 저자의 생생한 경험을 바탕으로, 클로드 코드를 최대한 활용할 수 있는 팁들을 제공합니다. 단순히 코드를 생성하는 것을 넘어, 개발의 즐거움을 느끼고 싶다면 《요즘 바이브 코딩 클로드 코드 완벽 가이드》를 통해 클로드 코드와 함께 '바이브 코딩'을 경험해보세요.

Q.클로드 코드의 요금제 플랜이 다양한 것 같은데, 어떤 플랜을 선택해야 할지 고민입니다. 플랜별 특징과 선택 기준을 자세히 알고 싶습니다.

클로드 코드는 다양한 사용자의 요구를 충족시키기 위해 여러 가지 요금제 플랜을 제공합니다. 각 플랜은 제공되는 기능과 사용량에 따라 차이가 있으며, 자신의 개발 스타일과 프로젝트 규모에 맞춰 최적의 플랜을 선택하는 것이 중요합니다. 이 책에서는 클로드 코드의 각 플랜별 특징을 상세히 비교 분석하고, 어떤 플랜이 어떤 사용자에게 적합한지 명확하게 제시합니다. 예를 들어, 개인 프로젝트나 간단한 작업에는 저렴한 플랜으로도 충분하지만, 복잡한 프로젝트나 팀 협업이 필요한 경우에는 더 높은 등급의 플랜이 필요할 수 있습니다. 또한, 클로드 코드를 처음 사용하는 사용자를 위해 무료 플랜도 제공하고 있으므로, 먼저 무료 플랜을 통해 클로드 코드의 기능을 경험해보고 유료 플랜으로 업그레이드하는 것을 추천합니다. 특히, 저자는 200달러 MAX 플랜을 활용하며 얻은 경험을 바탕으로, 각 플랜별 실제 활용 사례와 팁을 제공하여 독자들이 자신에게 맞는 플랜을 선택하는 데 도움을 줍니다. 합리적인 선택을 통해 클로드 코드를 효율적으로 활용하고 싶다면, 《요즘 바이브 코딩 클로드 코드 완벽 가이드》를 참고하여 자신에게 맞는 플랜을 선택해보세요.

Q.CLAUDE.md 파일은 무엇이고, 클로드 코드 사용 시 어떻게 활용해야 효율적인가요?

CLAUDE.md 파일은 클로드 코드에게 프로젝트에 대한 전반적인 정보를 제공하는 파일입니다. 이 파일에는 프로젝트의 목표, 구조, 사용 기술, 개발 규칙, 그리고 관련 문서 링크 등을 담을 수 있습니다. 클로드 코드는 CLAUDE.md 파일을 분석하여 프로젝트의 맥락을 이해하고, 더욱 정확하고 효율적인 코드를 생성할 수 있습니다. CLAUDE.md 파일을 잘 활용하면, 클로드 코드에게 프로젝트의 컨텍스트를 효과적으로 전달하여 불필요한 질문을 줄이고, 개발 생산성을 크게 향상시킬 수 있습니다. 이 책에서는 CLAUDE.md 파일을 작성하는 방법과 효과적인 활용 전략을 자세히 설명합니다. 어떤 정보를 포함해야 하는지, 어떻게 구조화해야 하는지, 그리고 클로드 코드에게 어떤 방식으로 전달해야 하는지에 대한 실질적인 가이드를 제공합니다. 또한, CLAUDE.md 파일 외에도 콘텍스트 관리 전략을 통해 클로드 코드의 기억력을 향상시키고, 프로젝트의 복잡성을 관리하는 방법을 소개합니다. CLAUDE.md 파일을 효과적으로 활용하여 클로드 코드의 잠재력을 최대한으로 끌어올리고 싶다면, 《요즘 바이브 코딩 클로드 코드 완벽 가이드》를 통해 자세한 내용을 확인해보세요.

Q.클로드 코드를 사용하여 UI 프로토타입을 빠르게 만들고 싶은데, 어떤 방법이 있을까요?

클로드 코드는 UI 프로토타입 제작에도 매우 유용하게 활용될 수 있습니다. 텍스트 기반의 설명만으로도 간단한 UI를 생성하거나, 기존 디자인을 기반으로 새로운 UI 요소를 추가하는 작업을 빠르게 수행할 수 있습니다. 이 책에서는 클로드 코드를 활용하여 UI 프로토타입을 제작하는 다양한 방법과 예시를 제공합니다. 먼저, 명확하고 구체적인 프롬프트를 작성하는 것이 중요합니다. 어떤 UI 요소를 원하는지, 어떤 기능을 구현해야 하는지 자세히 설명할수록 클로드 코드는 더욱 정확한 결과물을 생성할 수 있습니다. 또한, 클로드 코드가 생성한 코드를 직접 수정하고 개선하면서 원하는 UI를 만들어나갈 수 있습니다. 이 책에서는 UI 디자인 패턴과 베스트 프랙티스를 활용하여 클로드 코드에게 더욱 효과적인 지시를 내리는 방법을 알려줍니다. 특히, 저자가 직접 개발한 커스텀 커맨드를 활용하여 반복적인 작업을 자동화하고, 생산성을 극대화하는 방법을 소개합니다. 클로드 코드를 사용하여 효율적으로 UI 프로토타입을 제작하고 싶다면, 《요즘 바이브 코딩 클로드 코드 완벽 가이드》를 통해 다양한 팁과 노하우를 배워보세요.

Q.깃허브 워크플로우와 클로드 코드를 연동하여 팀 협업 효율을 높이는 방법을 알고 싶습니다.

클로드 코드는 깃허브 워크플로우와 연동하여 팀 협업 효율을 크게 향상시킬 수 있습니다. 예를 들어, 클로드 코드를 활용하여 코드 리뷰를 자동화하거나, 깃허브 이슈를 기반으로 코드를 생성하는 등의 작업을 수행할 수 있습니다. 이 책에서는 깃허브 워크플로우와 클로드 코드를 연동하는 구체적인 방법과 설정 과정을 자세히 설명합니다. 깃허브 액션을 사용하여 클로드 코드를 트리거하고, 생성된 코드를 자동으로 커밋하는 방법을 배울 수 있습니다. 또한, 클로드 코드를 활용하여 코드 컨벤션을 준수하고, 잠재적인 버그를 사전에 발견하는 방법을 소개합니다. 특히, 팀원 간의 커뮤니케이션을 효율적으로 관리하고, 코드 충돌을 방지하는 전략을 제시합니다. 깃허브 연동을 통해 팀 협업 효율을 극대화하고 싶다면, 《요즘 바이브 코딩 클로드 코드 완벽 가이드》를 통해 실질적인 노하우를 습득해보세요.

Q.Supabase와 같은 외부 서비스와 클로드 코드를 연동하여 더욱 강력한 애플리케이션을 개발하고 싶습니다.

클로드 코드는 Supabase와 같은 외부 서비스와 연동하여 더욱 강력한 애플리케이션을 개발하는 데 활용될 수 있습니다. Supabase는 백엔드 기능을 제공하는 서비스로, 데이터베이스, 인증, 스토리지 등을 쉽게 사용할 수 있도록 해줍니다. 클로드 코드는 Supabase API를 활용하여 데이터베이스에 데이터를 저장하거나 검색하고, 사용자 인증 기능을 구현하는 등의 작업을 수행할 수 있습니다. 이 책에서는 Supabase와 클로드 코드를 연동하는 구체적인 방법과 코드 예제를 제공합니다. Supabase 클라이언트를 설정하고, 클로드 코드를 사용하여 API 요청을 생성하는 방법을 배울 수 있습니다. 또한, 클로드 코드를 활용하여 데이터 유효성 검사를 수행하고, 에러 처리를 구현하는 방법을 소개합니다. 특히, Context7과 같은 도구를 활용하여 클로드 코드의 컨텍스트를 확장하고, 더욱 복잡한 작업을 처리하는 방법을 제시합니다. 외부 서비스 연동을 통해 클로드 코드의 활용 범위를 넓히고 싶다면, 《요즘 바이브 코딩 클로드 코드 완벽 가이드》를 통해 자세한 내용을 확인해보세요.

Q.클로드 코드를 활용하여 만든 코드의 테스트 및 배포는 어떻게 진행해야 할까요? 효율적인 CI/CD 파이프라인 구축 방법이 궁금합니다.

클로드 코드로 생성한 코드는 반드시 테스트를 거쳐야 합니다. 클로드 코드가 완벽한 코드를 생성한다고 보장할 수 없기 때문에, 자동화된 테스트를 통해 코드의 품질을 검증하는 것이 중요합니다. 이 책에서는 클로드 코드를 활용하여 테스트 코드를 작성하는 방법과, 자동화된 테스트 환경을 구축하는 방법을 설명합니다. Jest, Mocha, Pytest 등 다양한 테스트 프레임워크를 활용하여 유닛 테스트, 통합 테스트, E2E 테스트를 작성하는 방법을 배울 수 있습니다. 또한, 깃허브 액션, Jenkins, CircleCI 등 CI/CD 도구를 활용하여 코드 변경 사항을 자동으로 테스트하고 배포하는 파이프라인을 구축하는 방법을 소개합니다. 특히, 클로드 코드를 활용하여 테스트 케이스를 생성하고, 코드 커버리지를 측정하는 방법을 제시합니다. 효율적인 CI/CD 파이프라인을 구축하여 코드 품질을 유지하고, 배포 속도를 높이고 싶다면, 《요즘 바이브 코딩 클로드 코드 완벽 가이드》를 통해 실질적인 가이드를 얻어보세요.