태그: CI/CD
19편
-
팀 빌드 환경 표준화 | 누구나 한 번에 빌드되는 환경을 유지하는 방법
복잡한 빌드 환경에서 "내 컴퓨터에선 되는데" 문제를 없애고, 새 팀원도 한 번의 명령으로 빌드할 수 있는 환경을 유지하는 방법을 정리합니다. devcontainer, CI-로컬 환경 일치, 환경 드리프트 방지 전략을 다룹니다.
-
Playwright E2E 테스트 심화: Selenium·Cypress 비교, 설정 최적화, 병렬 실행, 비주얼 회귀
Playwright로 E2E 테스트를 구축하는 방법. Selenium·Cypress와의 비교, 설치와 초기 설정, 기본·고급 테스트 패턴, 설정 최적화, CI/CD 통합, 디버깅 도구, 비주얼 리그레션 테스트를 예제로 다룹니다.
-
Dagger로 CI/CD를 코드로 작성하기: 로컬과 CI에서 같은 파이프라인, 캐시, 모듈
YAML 대신 코드로 CI/CD를 작성하는 Dagger 정리. Go·Python·TypeScript 파이프라인, Functions와 모듈, 캐시, GitHub Actions·GitLab·Jenkins 통합, 로컬과 원격에서 같은 실행을 보장하는 방법을 다룹니다.
-
CI/CD 파이프라인 설계: 아티팩트 캐시, 테스트 병렬화, 블루그린·카나리·롤링 배포
테스트 잡 없이 build에만 needs가 걸린 파이프라인, 락파일과 맞지 않는 캐시처럼 흔한 실패 패턴을 바탕으로 CI DAG 설계, 캐시 키 구성과 PR 캐시 격리, 테스트 샤딩과 플레이크 처리, 블루그린·카나리·롤링 배포와 DB 마이그레이션의 트레이드오프를 설명합니다.
-
Turborepo 심화 가이드 — 원격 캐시·파이프라인·증분 빌드·대규모 모노레포
Vercel 원격 캐시와 S3 호환 자체 호스팅 캐시 운영, turbo.json의 dependsOn과 outputs로 태스크 그래프 설계하기, 필터로 증분 빌드 범위 줄이기, CI 파이프라인 구성, Changesets로 릴리스하는 흐름까지 대규모 모노레포 운영을 다룹니다.
-
Nx Cloud로 CI 시간 줄이기: 원격 캐시, 분산 작업 실행(DTE), affected, 보안 설정
Nx Cloud의 원격 캐시·분산 작업 실행(DTE), CI 최적화, affected, 보안·프라이빗 클라우드, 엔터프라이즈 모노레포 실전까지 한 번에 정리합니다. Nx는 JavaScript/TypeScript 중심 모노레포에서 프로젝트 간 의존성을 그래프로 표현하고, 태스크 러너로 빌드·테스트·린트를 일관되게 실행합니다.
-
GitHub Actions 워크플로 작성: CI, 배포, Secrets, 조건부 실행, 캐싱, Marketplace 액션
GitHub Actions로 CI/CD를 구축하는 방법. 기본 워크플로, CI와 배포 워크플로, Secrets 관리, 조건부 실행, 의존성 캐싱, Marketplace 액션 활용을 예제로 정리합니다.
-
Cypress E2E 테스트 운영: 안정적인 셀렉터, 로그인 세션 재사용, 아키텍처와 커버리지
Cypress E2E 테스트를 안정적으로 운영하는 방법. 셀렉터 전략, API 모킹, 인증 세션 처리, CI/CD 통합, Cypress 아키텍처와 intercept 동작, 커버리지 수집을 예제로 정리합니다.
-
Cloudflare Pages 배포: GitHub 연동, Wrangler CLI, Pages Functions와 Vercel·Netlify 비교
Cloudflare Pages 배포를 GitHub 연동·Wrangler·Functions부터 정리하고, Pages와 Workers 정적 자산 중 무엇을 고를지, _redirects 개수 한도와 _headers 병합, apex 도메인 조건, 파일 수 제한 같은 운영 함정까지 다룹니다.
-
GitHub Actions로 Node.js CI/CD 파이프라인 만들기 | 테스트·빌드·Docker·배포
GitHub Actions 하나의 워크플로로 Node.js 앱을 테스트하고 멀티 스테이지 Dockerfile로 이미지를 빌드해 푸시한 뒤 스테이징과 프로덕션에 배포합니다. npm 캐시, Node·OS 매트릭스, 재사용 워크플로도 다룹니다.
-
Docker 멀티스테이지 빌드: 레이어 캐시 순서, BuildKit 캐시 마운트, distroless로 이미지 줄이기
빌드 스테이지와 런타임 스테이지를 나눠 Node.js·Go·Rust·Python 이미지를 가볍게 만드는 Dockerfile 작성법을 예제로 보여 줍니다. 레이어 캐시 순서, BuildKit 캐시 마운트, distroless와 Alpine 선택, COPY --from 실패와 런타임 의존성 누락 같은 문제도 다룹니다.
-
C++ 서버 배포: Docker 멀티스테이지, systemd, Kubernetes 무중단 배포, Prometheus 모니터링
C++ 서비스를 프로덕션에 배포하는 방법. Docker 멀티스테이지 빌드, systemd 서비스, Kubernetes Deployment·Ingress·readinessProbe, 롤링 업데이트, CI/CD, Prometheus·Grafana·spdlog, glibc·OOM·502 에러 대응을 다룹니다.
-
C++ 프로젝트용 GitHub Actions: 3개 OS 매트릭스, vcpkg 캐시, Sanitizer, 릴리스 배포
C++ 프로젝트의 GitHub Actions CI/CD 구성. 워크플로 작성, Linux·macOS·Windows 매트릭스 빌드, vcpkg 바이너리 캐싱과 run-vcpkg, CMakePresets 연동, Sanitizer 실행, 아티팩트와 릴리스·Docker 배포를 다룹니다.
-
C++ 코드 커버리지 측정: gcov·lcov 리포트, Google Test 연동, CI에서 Codecov 올리기
gcov로 C++ 코드 커버리지를 측정하고 lcov로 HTML 리포트를 만든 뒤 Google Test와 CMake 빌드에 연동하는 과정을 다룹니다. 라인·브랜치·함수·조건·경로 커버리지가 각각 무엇을 보여 주는지와 CI에서 Codecov로 결과를 올리는 흐름도 설명합니다.
-
C++ vcpkg 고급 | overrides·커스텀 Triplet·사내 포트·바이너리 캐시·CI
vcpkg 기초 다음 단계로, builtin-baseline 업그레이드 전략과 overrides, 커스텀 triplet, 사내 오버레이 포트와 패치, 바이너리 캐시로 CI 빌드 시간을 줄이는 방법, Docker·멀티 플랫폼 CI 패턴을 다룹니다.
-
Conan 2.x 심화: lockfile로 의존성 고정, 크로스 컴파일, 사내 Artifactory 연동
C++ Conan 2.x 고급 활용. lockfile로 의존성 그래프를 고정하는 방법, 옵션·override가 있는 conanfile.py, host/build 두 프로필로 하는 크로스 컴파일, 사내 Artifactory 업로드와 바이너리 재사용을 다룹니다.
-
CMakePresets.json으로 빌드 설정 통일하기: 멀티 플랫폼 프리셋, vcpkg 바이너리 캐시, CI
CMakePresets.json의 configure·build·test·workflow 프리셋 구조와 스키마 버전별 기능, 멀티 플랫폼·MSVC+Ninja 설정, 2025년에 x-gha가 제거된 뒤의 vcpkg 바이너리 캐시 구성, Conan 2 연동, CI 자동화와 자주 나는 에러를 다룹니다.
-
C++ 프로젝트 CI 구성: GitHub Actions 멀티 OS·컴파일러 매트릭스, vcpkg 캐시, 테스트
로컬에선 되는데 CI에서만 실패하는 C++ 프로젝트를 위한 GitHub Actions 구성. 멀티 OS·컴파일러 매트릭스, CMake 빌드, vcpkg·Conan 캐시, 테스트 실행과 최적화 팁을 다룹니다.
-
C++ 멀티 컴파일러 전략과 CI/CD 파이프라인 구축 | 실무 가이드
내 PC에서는 되는데 다른 환경에서 깨지는 빌드를 막기 위해 GCC, Clang, MSVC를 함께 쓰는 전략을 다룹니다. 경고를 에러로 올리는 옵션, 컴파일러 감지 매크로와 플랫폼 차이 처리, GitHub Actions 빌드 매트릭스와 CMake Presets 구성까지 예제로 보여줍니다.