장바구니 담기 close

장바구니에 상품을 담았습니다.

깃허브 액션으로 구현하는 실전 CI/CD 설계와 운영

깃허브 액션으로 구현하는 실전 CI/CD 설계와 운영

  • 노무라 도모키
  • |
  • 제이펍
  • |
  • 2025-07-04 출간
  • |
  • 404페이지
  • |
  • 188 X 245 X 19mm
  • |
  • ISBN 9791194587248
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
25,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

‘감’으로만 다뤄온 깃허브 CI/CD, 이제는 제대로 설계할 차례
많은 개발자가 깃허브 액션을 쓰지만, 그 구조를 설계해본 경험은 드물다. 아직도 감에 의존해 CI/CD를 운영하거나 복잡한 설정을 그대로 복붙하며 사용하는 경우가 많다. 하지만 그렇게 만든 자동화는 유지가 어려울 뿐만 아니라 확장도 불가능하다. 이 책은 그런 막연한 접근에서 벗어나 깃허브 액션을 중심으로 실무에 최적화된 CI/CD 시스템을 직접 설계하고 운영하는 방법을 안내한다.

총 3부로 구성된 이 책은 기초부터 고급, 응용까지 단계적으로 노하우를 알려준다. 1부는 CI/CD의 필요성과 깃허브 액션의 기본 개념을 설명한다. 워크플로 구문, 조건 처리, 환경 변수 등을 익히며, 테스트 자동화와 CI 설계의 기반을 다진다. 2부는 실전 중심으로, 리포지터리 구조 설계, 의존성 자동화, 릴리스 배포, 클라우드 연동까지, 바로 써먹을 수 있는 자동화 흐름과 OIDC 인증, 오픈소스 액션 관리 등 고급 주제도 함께 다룬다. 3부는 앱 토큰, 보안 전략, 액션 고급 기능을 통해 복잡한 환경에서도 안정적으로 시스템을 유지할 수 있는 방법을 소개한다.

이 책은 단순히 깃허브 액션 사용법만 알려주는 기술서가 아니다. 코드 설명에만 머물지 않고, 왜 그렇게 설계해야 하는지, 어떻게 해야 현장에서 오래 살아남는 구조가 되는지를 함께 짚어본다. 자동화를 구조적으로 설계하고, 팀과 조직의 개발 문화를 바꾸고자 하는 사람에게 필요한 실전형 설계서다. 이러한 실무성과 전문성을 두루 인정받아 2025년 일본 ‘IT 엔지니어 도서 대상’ 기술서 부문 TOP 10에 선정되었다. 자동화를 이해하고 구조를 설계할 줄 아는 개발자로 나아가기 위한 출발점이 바로 이 책이다.


대상 독자
- 깃허브 액션은 처음인 깃허브 사용자
- CI/CD 개념만 알고 있던 실무자
- 자동화를 체계적으로 배우고 싶은 개발자

주요 내용
- 깃허브 액션의 구조와 워크플로 구문 이해
- 워크플로 실행 조건과 환경 설정 방식
- 테스트, 릴리스, 패키지 배포 자동화 구현
- 커스텀 액션과 모듈화 전략 적용법
- 의존성 업데이트와 깔끔한 리포지터리 운영법
- OpenID Connect를 이용한 클라우드 서비스 인증 연동
- 리포지터리 간 연동을 위한 깃허브 앱 토큰 활용
- 실무 중심의 CI/CD 설계와 보안 운영 전략

목차

옮긴이 머리말 xvi
베타리더 후기 xvii
감사의 글 xxi
이 책에 대하여 xxii

PART I 기초편 1
CHAPTER 1 소프트웨어 개발과 깃허브 3
1.1 소프트웨어 개발 3
1.2 CI/CD 4
1.3 깃허브 8
1.4 환경 구축 11
1.5 요약 14

CHAPTER 2 깃허브 액션의 기초 개념 16
2.1 깃허브 액션을 시작하자 16
2.2 깃허브 액션의 구성 요소 18
2.3 깃허브 액션 실행 21
2.4 깃허브 액션의 오류 23
2.5 워크플로 실행 방법 26
2.6 워크플로 실행 관리 29
2.7 잡 실행 환경 31
2.8 액션 34
2.9 깃허브 액션의 과금 모델 35
2.10 요약 36
[COLUMN] 참고 문헌: 기초 기술 37

CHAPTER 3 워크플로 구문 기초 38
3.1 컨텍스트 38
3.2 환경변수 40
3.3 변수 43
3.4 시크릿 45
3.5 식 48
3.6 함수 50
3.7 조건 분기 53
3.8 명명 규칙 54
3.9 스텝 간 데이터 공유 56
3.10 깃허브 API 실행 58
[COLUMN] 소스 코드 읽기 권한과 리포지터리 종류 62
3.11 스타터 워크플로 63
3.12 요약 65

CHAPTER 4 CI 구현 66
4.1 풀 리퀘스트를 사용한 CI 실행 66
4.2 자동 테스트 68
4.3 이벤트 필터링 73
4.4 셋업 액션 75
4.5 정적 분석 78
4.6 타임아웃 81
4.7 셸 81
4.8 concurrency 83
4.9 CI의 황금률 86
4.10 자동 테스트 운영 방법 88
4.11 정적 분석의 운영 방법 92
[COLUMN] 억제 이유 기록해두기 92
4.12 요약 93
[COLUMN] 참고 문헌: 테스트와 문서화 94

CHAPTER 5 운영하기 쉬운 워크플로 설계 95
5.1 워크플로 설계를 위한 도구함 95
5.2 로그 96
5.3 보고서 101
5.4 채팅 알림 103
5.5 여러 잡의 실행 제어 105
5.6 매트릭스 108
5.7 Environments 111
[COLUMN] 변수와 시크릿에는 세 가지 종류가 있다 115
5.8 캐시 115
5.9 아티팩트 120
5.10 요약 123

CHAPTER 6 액션을 사용한 모듈화 124
6.1 액션의 분류 124
6.2 복합 액션 126
6.3 메타데이터 구문 129
6.4 메타데이터 구문과 워크플로 구문의 차이 132
6.5 액션의 설계 기법 134
[COLUMN] 액션과 Node.js 버전 137
6.6 요약 137
[COLUMN] 참고 문헌: 소프트웨어 설계 138

P A R T II 실전편 139
CHAPTER 7 깔끔한 리포지터리 유지 141
7.1 코드 리뷰 141
7.2 브랜치 보호 142
7.3 주인 의식 유지 146
7.4 인증 정보의 난입 방지 148
7.5 문서화 151
7.6 요약 153

CHAPTER 8 Dependabot을 사용한 의존성 업데이트 154
8.1 의존성 154
8.2 Dependabot 156
8.3 깃허브 액션을 통한 자동 머지 162
8.4 Dependabot의 워크플로 설계 167
8.5 버전 업데이트의 영향 범위 169
8.6 자동 머지 전략 171
[COLUMN] 구분 문자를 무시하는 사람은 구분 문자 때문에 운다 172
8.7 요약 173

CHAPTER 9 깃허브 릴리스를 사용한 릴리스 자동화 174
9.1 소프트웨어 릴리스 174
9.2 버전 관리 175
9.3 공지 177
9.4 깃허브 릴리스 179
9.5 릴리스 노트 자동 생성 181
9.6 릴리스 자동화 185
9.7 깃 태그 보호 189
9.8 요약 192
[COLUMN] 참고 문헌: 소프트웨어 개발 193

CHAPTER 10 깃허브 패키지를 사용한 패키지 관리 194
10.1 패키지 194
10.2 깃허브 패키지 196
10.3 컨테이너 레지스트리 197
10.4 깃허브의 패키지 관리 199
10.5 패키지의 자동 링크와 권한 계승 202
10.6 컨테이너 이미지의 자동 릴리스 205
10.7 요약 211
[COLUMN] 참고 문헌: 컨테이너 기술 212

CHAPTER 11 OpenID Connect를 사용한 안전한 클라우드 연계 213
11.1 클라우드 서비스의 인증 정보 213
11.2 OpenID Connect 215
11.3 검증 작업의 위험 관리 218
[COLUMN] 클라우드 보안 219
11.4 AWS에서 OpenID Connect 사용 준비 220
11.5 OpenID Connect를 사용한 AWS 연동 225
11.6 클라우드 역할의 안전한 운영 230
11.7 요약 231
[COLUMN] 참고 문헌: 인프라스트럭처 232

CHAPTER 12 컨테이너 오케스트레이션 및 배포 233
12.1 서비스 233
12.2 실행 환경 구축 235
12.3 배포 정보용 변수 관리 240
12.3.1 배포 정보 확인 241 / 12.3.2 배포 정보 등록 242
12.4 배포 자동화 242
[COLUMN] Node 16 기반의 액션 243
12.5 Environments를 사용해 여러 환경에 배포 250
12.6 배포 설계 255
12.7 요약 256

CHAPTER 13 액션의 오픈소스화 257
13.1 액션 공개 257
13.2 액션 테스트 261
13.3 액션의 릴리스 관리 265
13.4 액션의 문서화 269
13.5 깃허브 마켓플레이스에 공개 270
13.6 액션의 진화 프로세스 273
13.7 요약 275
[COLUMN] 참고 문헌: 운영 275

P A R T III 응용편 277
CHAPTER 14 깃허브 액션의 고급 사용법 279
14.1 리유저블 워크플로 279
14.2 동적 워크플로 정의 288
14.3 오류 처리 290
14.4 컨텍스트를 통한 흐름 제어 292
14.5 프라이빗 액션과 프라이빗 리유저블 워크플로 295
14.6 요약 296
[COLUMN] 참고 문헌: 보안 297

CHAPTER 15 깃허브 액션의 보안 298
15.1 소프트웨어 공급망 298
15.2 보안 설계 원칙 300
15.3 깃허브의 서비스 특성 301
15.4 리포지터리 보호 302
15.5 외부 액션의 보안 304
15.6 스크립트 주입 308
15.7 최소 권한의 허가 309
15.8 시크릿 관리 311
15.9 포크 풀 리퀘스트 대책 313
15.10 OpenID Connect 설정 315
[COLUMN] 푸시 규칙 322
15.11 요약 323

CHAPTER 16 보안의 시프트 레프트 324
16.1 시프트 레프트 324
16.2 의존성의 취약성 스캔 325
16.3 시크릿 보호 330
16.4 애플리케이션 보안 333
[COLUMN] 컨테이너 레지스트리의 취약성 스캔 335
16.5 IaC 보안 335
16.6 지속적인 보안 개선 338
16.7 요약 339

CHAPTER 17 깃허브 앱 토큰을 사용한 다른 리포지터리 접근 340
17.1 깃허브의 인증 정보 340
17.2 깃허브 앱 토큰 342
17.3 다른 리포지터리 접근 347
[COLUMN] 비밀 키는 신속하게 삭제한다 348
[COLUMN] 호기심 많은 독자를 위해 350
17.4 깃허브 앱 토큰 생성의 원리 350
17.5 깃허브 앱 토큰의 운영 기법 357
17.6 요약 360
[COLUMN] 참고 문헌: 시스템 설계 360

CHAPTER 18 CD 실전 361
18.1 조직 성과 361
18.2 버전 관리 전략 363
18.3 테스트 전략 364
18.4 릴리스 전략 365
18.5 데이터베이스 변경 관리 366
18.6 IaC의 변경 관리 367
18.7 느슨한 결합 아키텍처 369
18.8 운영 잊지 말기 370
18.9 지속적인 학습 371
18.10 요약 372

마치며 373
찾아보기 375

도서소개


 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.