#CI/CD

10 편의 글

GitHub Actions 강좌 #10 운영 패턴: 경로 필터, concurrency, 디버깅, 비용 점검
5 분 소요

GitHub Actions 강좌 #10 운영 패턴: 경로 필터, concurrency, 디버깅, 비용 점검

모노레포에서 바뀐 부분의 워크플로만 깨우는 paths 필터와 그 한계, 중복 실행을 정리하는 concurrency 그룹과 cancel-in-progress의 판단 기준, timeout-minutes를 기본 습관으로 삼아야 하는 이유를 정리합니다. 디버그 로그와 재실행 같은 디버깅 도구, 사용량 화면으로 하는 비용 점검까지 일상 운영의 패턴을 모아 시리즈를 마무리하겠습니다.

GitHub Actions 강좌 #8 셀프호스티드 러너: 도입 기준, 등록, 보안 원칙
4 분 소요

GitHub Actions 강좌 #8 셀프호스티드 러너: 도입 기준, 등록, 보안 원칙

호스티드 러너로 부족해지는 세 가지 상황인 내부망 접근, 비용, 특수 하드웨어를 도입 기준으로 정리하고, 러너 등록 절차와 라벨로 잡을 라우팅하는 방법을 다룹니다. 퍼블릭 저장소에 셀프호스티드 러너를 쓰면 안 되는 이유와 임시 러너 운영 원칙, 쿠버네티스에서 러너를 자동 확장하는 actions-runner-controller까지 짚겠습니다.

GitHub Actions 강좌 #5 재사용: composite action과 reusable workflow
4 분 소요

GitHub Actions 강좌 #5 재사용: composite action과 reusable workflow

여러 워크플로와 저장소에 반복되는 스텝 뭉치를 부품으로 만드는 두 방법을 다룹니다. 스텝 묶음을 포장하는 composite action의 action.yml 작성법, 잡 단위 전체를 호출하는 reusable workflow의 workflow_call과 inputs, secrets 전달, 두 방식의 선택 기준과 조직 차원에서 공용 저장소로 표준화하는 패턴까지 정리하겠습니다.

GitHub Actions 강좌 #4 매트릭스·캐시·아티팩트: 조합 실행과 시간·비용 절약
4 분 소요

GitHub Actions 강좌 #4 매트릭스·캐시·아티팩트: 조합 실행과 시간·비용 절약

한 잡 정의를 여러 버전과 OS 조합으로 늘리는 매트릭스 전략을 include, exclude, fail-fast 옵션과 함께 다루고, 의존성 설치 시간을 줄이는 actions/cache의 key와 restore-keys 설계, setup 계열 액션의 내장 캐시 옵션을 정리합니다. 잡 사이에 파일을 넘기는 아티팩트의 업로드와 다운로드, 보존 기간 설정까지 실행 시간과 러너 비용을 줄이는 관점으로 묶겠습니다.

GitHub Actions 강좌 #3 시크릿·변수·환경: secrets vs vars, environment 승인 관문
4 분 소요

GitHub Actions 강좌 #3 시크릿·변수·환경: secrets vs vars, environment 승인 관문

워크플로에 비밀 값과 설정값을 넣는 두 통로인 secrets와 vars의 구분 기준과 조직, 저장소, environment 세 계층의 우선순위를 정리합니다. 로그 마스킹이 보호해 주는 것과 과신하면 안 되는 이유, environment의 보호 규칙으로 배포 앞에 승인자와 대기 시간을 거는 방법, 자동 발급되는 GITHUB_TOKEN의 정체까지 다루겠습니다.

GitHub Actions 강좌 #2 문법 핵심: 컨텍스트와 표현식, if 조건, 값 전달
4 분 소요

GitHub Actions 강좌 #2 문법 핵심: 컨텍스트와 표현식, if 조건, 값 전달

워크플로 YAML의 문법을 체계적으로 잡습니다. github, env, steps 같은 컨텍스트와 표현식 문법, if 조건과 success·failure·always 함수로 스텝을 골라 실행하는 방법을 다루고, GITHUB_OUTPUT으로 스텝 사이에 값을 전달하는 법과 needs·outputs로 잡 사이의 순서와 데이터를 연결하는 법까지 정리하겠습니다.

GitHub Actions 강좌 #1 워크플로의 구조: 이벤트, 잡, 러너, 그리고 첫 실행
5 분 소요

GitHub Actions 강좌 #1 워크플로의 구조: 이벤트, 잡, 러너, 그리고 첫 실행

푸시할 때마다 손으로 반복하던 테스트와 빌드를 자동화하는 GitHub Actions의 뼈대를 잡습니다. 워크플로, 이벤트, 잡, 스텝, 러너라는 다섯 개념의 관계를 정리하고, 파이썬 테스트를 돌리는 첫 워크플로를 작성해 Actions 탭에서 결과를 읽는 법과 상태 배지까지 다루겠습니다. 트리거 이벤트의 종류와 러너의 무료 한도도 함께 짚습니다.

테라폼 운영 강좌 #1 협업 워크플로: PR에서 plan 리뷰, GitHub Actions로 apply
4 분 소요

테라폼 운영 강좌 #1 협업 워크플로: PR에서 plan 리뷰, GitHub Actions로 apply

로컬 apply가 팀에서 만드는 권한 집중과 리뷰 부재 문제를 짚고, PR에는 plan을 코멘트로 남기고 병합하면 CI가 apply 하는 표준 워크플로를 GitHub Actions로 구성합니다. OIDC 역할 연결, plan 출력의 PR 코멘트 자동화, concurrency로 동시 apply를 막는 설정까지, 사람 손의 apply를 없애는 첫 단계를 만들겠습니다.

AWS 실전 #3 CI/CD: GitHub Actions + ECR + ECS
8 분 소요

AWS 실전 #3 CI/CD: GitHub Actions + ECR + ECS

OIDC로 액세스 키 없는 GitHub Actions, ECR push, 작업 정의 자동 갱신, ECS 서비스 롤링 배포, 배포 차단기와 자동 롤백, CodeDeploy blue/green 살짝까지. 한 번의 git push로 끝나는 배포 흐름을 정리합니다.

도커 실전 강좌 #4 CI에서 이미지 빌드 — GitHub Actions와 BuildKit 캐시
8 분 소요

도커 실전 강좌 #4 CI에서 이미지 빌드 — GitHub Actions와 BuildKit 캐시

GitHub Actions에서 도커 이미지를 빌드하고 푸시하는 정석을 다룹니다. docker/build-push-action, BuildKit의 GHA 캐시(type=gha), 멀티 아키(amd64+arm64) 빌드, 빌드 시점 secrets, 빌드 시간 최적화까지 한 워크플로우 파일에 정리합니다.