{"product_id":"138711","title":"깃허브 액션으로 구현하는 실전 CI\/CD 설계와 운영","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jXPCfBUmtUi4zSXVTz9VjtixFsqNL.png?v=1765067066\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\u003ccenter\u003e\n\u003cdiv style=\"width:95%\"\u003e\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e깃허브 액션으로 구현하는 실전 CI\/CD 설계와 운영\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/147569986\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003eDescription\u003c\/div\u003e\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e책소개\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e \u003cdiv\u003e  \u003cb\u003e자동화를 다루는 개발자에서, 자동화를 설계하는 개발자로\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e테스트, 릴리스, 배포 과정을 자동화하면 개발 속도는 물론 협업 방식까지 달라진다.\u003cbr\u003e깃허브 액션은 자동화를 코드로 구현하는 강력한 도구로, 단순한 시간 절약을 넘어 개발 환경을 직접 설계할 수 있게 해준다.\u003cbr\u003e2025년 일본 ‘IT 엔지니어 도서 대상’ 기술서 부문 TOP 10에 선정된 이 책은 깃허브 액션을 활용해 실무에 맞는 CI\/CD 시스템을 설계하고 운영하는 법을 다룬다.\u003cbr\u003e워크플로 구성, 릴리스 자동화, 클라우드 연계, 보안 전략 등 핵심 요소를 체계적으로 설명하고, 다양한 실무 예제를 통해 유지 가능한 자동화 시스템 설계 방법을 제시한다.\u003cbr\u003e복잡한 워크플로를 단순화하고 직접 자동화 시스템을 구축하고자 하는 개발자에게 확실한 길잡이가 되어줄 것이다.\u003cbr\u003e\n\u003c\/div\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cul\u003e \u003cli\u003e 책의 일부 내용을 미리 읽어보실 수 있습니다.\u003cbr\u003e\u003cspan\u003e미리보기\u003c\/span\u003e\n\u003c\/li\u003e \u003c\/ul\u003e \u003c\/div\u003e \u003c\/div\u003e \",\"\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e목차\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e  옮긴이 머리말 xvi\u003cbr\u003e베타리더 후기 xvii\u003cbr\u003e감사의 글 xxi\u003cbr\u003e이 책에 대하여 xxii\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART I 기초편 1\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eCHAPTER 1 소프트웨어 개발과 깃허브 3\u003cbr\u003e1.1 소프트웨어 개발 3\u003cbr\u003e1.2 CI\/CD 4\u003cbr\u003e1.3 깃허브 8\u003cbr\u003e1.4 환경 구축 11\u003cbr\u003e1.5 요약 14\u003cbr\u003e\u003cbr\u003eCHAPTER 2 깃허브 액션의 기초 개념 16\u003cbr\u003e2.1 깃허브 액션을 시작하자 16\u003cbr\u003e2.2 깃허브 액션의 구성 요소 18\u003cbr\u003e2.3 깃허브 액션 실행 21\u003cbr\u003e2.4 깃허브 액션의 오류 23\u003cbr\u003e2.5 워크플로 실행 방법 26\u003cbr\u003e2.6 워크플로 실행 관리 29\u003cbr\u003e2.7 잡 실행 환경 31\u003cbr\u003e2.8 액션 34\u003cbr\u003e2.9 깃허브 액션의 과금 모델 35\u003cbr\u003e2.10 요약 36\u003cbr\u003e[COLUMN] 참고 문헌: 기초 기술 37\u003cbr\u003e\u003cbr\u003eCHAPTER 3 워크플로 구문 기초 38\u003cbr\u003e3.1 콘텍스트 38\u003cbr\u003e3.2 환경변수 40\u003cbr\u003e3.3 변수 43\u003cbr\u003e3.4 시크릿 45\u003cbr\u003e3.5 식 48\u003cbr\u003e3.6 함수 50\u003cbr\u003e3.7 조건 분기 53\u003cbr\u003e3.8 명명 규칙 54\u003cbr\u003e3.9 스텝 간 데이터 공유 56\u003cbr\u003e3.10 깃허브 API 실행 58\u003cbr\u003e[COLUMN] 소스 코드 읽기 권한과 리포지터리 종류 62\u003cbr\u003e3.11 스타터 워크플로 63\u003cbr\u003e3.12 요약 65\u003cbr\u003e\u003cbr\u003eCHAPTER 4 CI 구현 66\u003cbr\u003e4.1 풀 리퀘스트를 사용한 CI 실행 66\u003cbr\u003e4.2 자동 테스트 68\u003cbr\u003e4.3 이벤트 필터링 73\u003cbr\u003e4.4 셋업 액션 75\u003cbr\u003e4.5 정적 분석 78\u003cbr\u003e4.6 타임아웃 81\u003cbr\u003e4.7 셸 81\u003cbr\u003e4.8 concurrency 83\u003cbr\u003e4.9 CI의 황금률 86\u003cbr\u003e4.10 자동 테스트 운영 방법 88\u003cbr\u003e4.11 정적 분석의 운영 방법 92\u003cbr\u003e[COLUMN] 억제 이유 기록해두기 92\u003cbr\u003e4.12 요약 93\u003cbr\u003e[COLUMN] 참고 문헌: 테스트와 문서화 94\u003cbr\u003e\u003cbr\u003eCHAPTER 5 운영하기 쉬운 워크플로 설계 95\u003cbr\u003e5.1 워크플로 설계를 위한 도구함 95\u003cbr\u003e5.2 로그 96\u003cbr\u003e5.3 보고서 101\u003cbr\u003e5.4 채팅 알림 103\u003cbr\u003e5.5 여러 잡의 실행 제어 105\u003cbr\u003e5.6 매트릭스 108\u003cbr\u003e5.7 Environments 111\u003cbr\u003e[COLUMN] 변수와 시크릿에는 세 가지 종류가 있다 115\u003cbr\u003e5.8 캐시 115\u003cbr\u003e5.9 아티팩트 120\u003cbr\u003e5.10 요약 123\u003cbr\u003e\u003cbr\u003eCHAPTER 6 액션을 사용한 모듈화 124\u003cbr\u003e6.1 액션의 분류 124\u003cbr\u003e6.2 복합 액션 126\u003cbr\u003e6.3 메타데이터 구문 129\u003cbr\u003e6.4 메타데이터 구문과 워크플로 구문의 차이 132\u003cbr\u003e6.5 액션의 설계 기법 134\u003cbr\u003e[COLUMN] 액션과 Node.js 버전 137\u003cbr\u003e6.6 요약 137\u003cbr\u003e[COLUMN] 참고 문헌: 소프트웨어 설계 138\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART II 실전편 139\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eCHAPTER 7 깔끔한 리포지터리 유지 141\u003cbr\u003e7.1 코드 리뷰 141\u003cbr\u003e7.2 브랜치 보호 142\u003cbr\u003e7.3 주인 의식 유지 146\u003cbr\u003e7.4 인증 정보의 난입 방지 148\u003cbr\u003e7.5 문서화 151\u003cbr\u003e7.6 요약 153\u003cbr\u003e\u003cbr\u003eCHAPTER 8 Dependabot을 사용한 의존성 업데이트 154\u003cbr\u003e8.1 의존성 154\u003cbr\u003e8.2 Dependabot 156\u003cbr\u003e8.3 깃허브 액션을 통한 자동 머지 162\u003cbr\u003e8.4 Dependabot의 워크플로 설계 167\u003cbr\u003e8.5 버전 업데이트의 영향 범위 169\u003cbr\u003e8.6 자동 머지 전략 171\u003cbr\u003e[COLUMN] 구분 문자를 무시하는 사람은 구분 문자 때문에 운다 172\u003cbr\u003e8.7 요약 173\u003cbr\u003e\u003cbr\u003eCHAPTER 9 깃허브 릴리스를 사용한 릴리스 자동화 174\u003cbr\u003e9.1 소프트웨어 릴리스 174\u003cbr\u003e9.2 버전 관리 175\u003cbr\u003e9.3 공지 177\u003cbr\u003e9.4 깃허브 릴리스 179\u003cbr\u003e9.5 릴리스 노트 자동 생성 181\u003cbr\u003e9.6 릴리스 자동화 185\u003cbr\u003e9.7 깃 태그 보호 189\u003cbr\u003e9.8 요약 192\u003cbr\u003e[COLUMN] 참고 문헌: 소프트웨어 개발 193\u003cbr\u003e\u003cbr\u003eCHAPTER 10 깃허브 패키지를 사용한 패키지 관리 194\u003cbr\u003e10.1 패키지 194\u003cbr\u003e10.2 깃허브 패키지 196\u003cbr\u003e10.3 컨테이너 레지스트리 197\u003cbr\u003e10.4 깃허브의 패키지 관리 199\u003cbr\u003e10.5 패키지의 자동 링크와 권한 계승 202\u003cbr\u003e10.6 컨테이너 이미지의 자동 릴리스 205\u003cbr\u003e10.7 요약 211\u003cbr\u003e[COLUMN] 참고 문헌: 컨테이너 기술 212\u003cbr\u003e\u003cbr\u003eCHAPTER 11 OpenID Connect를 사용한 안전한 클라우드 연계 213\u003cbr\u003e11.1 클라우드 서비스의 인증 정보 213\u003cbr\u003e11.2 OpenID Connect 215\u003cbr\u003e11.3 검증 작업의 위험 관리 218\u003cbr\u003e[COLUMN] 클라우드 보안 219\u003cbr\u003e11.4 AWS에서 OpenID Connect 사용 준비 220\u003cbr\u003e11.5 OpenID Connect를 사용한 AWS 연동 225\u003cbr\u003e11.6 클라우드 역할의 안전한 운영 230\u003cbr\u003e11.7 요약 231\u003cbr\u003e[COLUMN] 참고 문헌: 인프라스트럭처 232\u003cbr\u003e\u003cbr\u003eCHAPTER 12 컨테이너 오케스트레이션 및 배포 233\u003cbr\u003e12.1 서비스 233\u003cbr\u003e12.2 실행 환경 구축 235\u003cbr\u003e12.3 배포 정보용 변수 관리 240\u003cbr\u003e12.3.1 배포 정보 확인 241 \/ 12.3.2 배포 정보 등록 242\u003cbr\u003e12.4 배포 자동화 242\u003cbr\u003e[COLUMN] Node 16 기반의 액션 243\u003cbr\u003e12.5 Environments를 사용해 여러 환경에 배포 250\u003cbr\u003e12.6 배포 설계 255\u003cbr\u003e12.7 요약 256\u003cbr\u003e\u003cbr\u003eCHAPTER 13 액션의 오픈소스화 257\u003cbr\u003e13.1 액션 공개 257\u003cbr\u003e13.2 액션 테스트 261\u003cbr\u003e13.3 액션의 릴리스 관리 265\u003cbr\u003e13.4 액션의 문서화 269\u003cbr\u003e13.5 깃허브 마켓플레이스에 공개 270\u003cbr\u003e13.6 액션의 진화 프로세스 273\u003cbr\u003e13.7 요약 275\u003cbr\u003e[COLUMN] 참고 문헌: 운영 275\u003cbr\u003e\u003cbr\u003e\u003cb\u003ePART III 응용편 277\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eCHAPTER 14 깃허브 액션의 고급 사용법 279\u003cbr\u003e14.1 리유저블 워크플로 279\u003cbr\u003e14.2 동적 워크플로 정의 288\u003cbr\u003e14.3 오류 처리 290\u003cbr\u003e14.4 콘텍스트를 통한 흐름 제어 292\u003cbr\u003e14.5 프라이빗 액션과 프라이빗 리유저블 워크플로 295\u003cbr\u003e14.6 요약 296\u003cbr\u003e[COLUMN] 참고 문헌: 보안 297\u003cbr\u003e\u003cbr\u003eCHAPTER 15 깃허브 액션의 보안 298\u003cbr\u003e15.1 소프트웨어 공급망 298\u003cbr\u003e15.2 보안 설계 원칙 300\u003cbr\u003e15.3 깃허브의 서비스 특성 301\u003cbr\u003e15.4 리포지터리 보호 302\u003cbr\u003e15.5 외부 액션의 보안 304\u003cbr\u003e15.6 스크립트 주입 308\u003cbr\u003e15.7 최소 권한의 허가 309\u003cbr\u003e15.8 시크릿 관리 311\u003cbr\u003e15.9 포크 풀 리퀘스트 대책 313\u003cbr\u003e15.10 OpenID Connect 설정 315\u003cbr\u003e[COLUMN] 푸시 규칙 322\u003cbr\u003e15.11 요약 323\u003cbr\u003e\u003cbr\u003eCHAPTER 16 보안의 시프트 레프트 324\u003cbr\u003e16.1 시프트 레프트 324\u003cbr\u003e16.2 의존성의 취약성 스캔 325\u003cbr\u003e16.3 시크릿 보호 330\u003cbr\u003e16.4 애플리케이션 보안 333\u003cbr\u003e[COLUMN] 컨테이너 레지스트리의 취약성 스캔 335\u003cbr\u003e16.5 IaC 보안 335\u003cbr\u003e16.6 지속적인 보안 개선 338\u003cbr\u003e16.7 요약 339\u003cbr\u003e\u003cbr\u003eCHAPTER 17 깃허브 앱 토큰을 사용한 다른 리포지터리 접근 340\u003cbr\u003e17.1 깃허브의 인증 정보 340\u003cbr\u003e17.2 깃허브 앱 토큰 342\u003cbr\u003e17.3 다른 리포지터리 접근 347\u003cbr\u003e[COLUMN] 비밀 키는 신속하게 삭제한다 348\u003cbr\u003e[COLUMN] 호기심 많은 독자를 위해 350\u003cbr\u003e17.4 깃허브 앱 토큰 생성의 원리 350\u003cbr\u003e17.5 깃허브 앱 토큰의 운영 기법 357\u003cbr\u003e17.6 요약 360\u003cbr\u003e[COLUMN] 참고 문헌: 시스템 설계 360\u003cbr\u003e\u003cbr\u003eCHAPTER 18 CD 실전 361\u003cbr\u003e18.1 조직 성과 361\u003cbr\u003e18.2 버전 관리 전략 363\u003cbr\u003e18.3 테스트 전략 364\u003cbr\u003e18.4 릴리스 전략 365\u003cbr\u003e18.5 데이터베이스 변경 관리 366\u003cbr\u003e18.6 IaC의 변경 관리 367\u003cbr\u003e18.7 느슨한 결합 아키텍처 369\u003cbr\u003e18.8 운영 잊지 말기 370\u003cbr\u003e18.9 지속적인 학습 371\u003cbr\u003e18.10 요약 372\u003cbr\u003e\u003cbr\u003e마치며 373\u003cbr\u003e찾아보기 375 \u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \",\"\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e상세 이미지\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e \u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate5373\/MidCate006\/537250559.jpg\" border=\"0\" alt=\"상세 이미지 1\"\u003e \u003c\/div\u003e \u003c\/div\u003e \",\"\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e책 속으로\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e \u003cdiv\u003e  OS는 명령어를 실행할 때에 종료 상태(termination status)라고 하는 값을 반환한다.\u003cbr\u003e성공하면 0, 그 외는 0 이 아닌 다른 값을 반환한다.\u003cbr\u003e\/ 유닉스 계열 OS에서는 $? 변수를 참조하면 직전에 실행한 명령의 종료 상태를 확인할 수 있다.\u003cbr\u003e예를 들어 다음과 같이 존재하지 않는 명령을 실행해보자.\u003cbr\u003e실행에 실패하므로 0 외의 값이 표시될 것이다.\u003cbr\u003e깃허브 액션에서는 바로 이 종료 상태를 사용하고 있다.\u003cbr\u003e--- p.25\u003cbr\u003e\u003cbr\u003e깃허브는 프로그램과 연동할 수 있는 API를 제공하고 있으며 이를 깃허브 API라고 한다.\u003cbr\u003e예를 들면 curl 등을 사용해서 풀 리퀘스트에 코멘트나 레이블을 부여할 수 있다.\u003cbr\u003e이미 앞서 소개한 깃허브 CLI도 내부적으로는 깃허브 API를 사용하고 있는 것이다.\u003cbr\u003e\/ 깃허브 액션은 깃허브 API에 쉽게 접근할 수 있다.\u003cbr\u003e깃허브 호스트 러너를 사용하고 있다면 사전 설치돼 있는 깃허브 CLI를 사용하면 된다.\u003cbr\u003e\u003cbr\u003e--- p.58\u003cbr\u003e\u003cbr\u003e정적 분석 결과 중에는 중요도가 낮은 경고도 있다.\u003cbr\u003e따라서 ‘이 경고는 아무런 조치를 취하지 않는다’라고 취급해버리는 경우가 발생한다.\u003cbr\u003e이때 단순히 경고를 무시하는 것은 좋은 해결책이 아니다.\u003cbr\u003e무시한 경고는 노이즈가 된다.\u003cbr\u003e불필요한 경고는 억제하자.\u003cbr\u003e생각보다 손이 많이 가지 않는다.\u003cbr\u003e\/ 경고를 억제(suppress)할 때는 두 가지 방향성을 고려해야 한다.\u003cbr\u003e억제 대상을 코드베이스 전체로 할지 특정 부분으로 한정할지이다.\u003cbr\u003e전자는 설정 파일 등으로 제어한다.\u003cbr\u003e후자는 특정 키워드를 억제 대상 코드에 직접 삽입하는 것이다.\u003cbr\u003e구체적인 방법은 도구에 따라 다르다.\u003cbr\u003eignore나 suppress 등의 키워드로 도구의 문서를 검색해보자.\u003cbr\u003e흔한 경우이므로 관련 내용이 기록돼 있을 것이다.\u003cbr\u003e\u003cbr\u003e--- p.92\u003cbr\u003e\u003cbr\u003e깃허브 릴리스는 소프트웨어 전달이나 변경 내용 공지 등을 제공하는 서비스다.\u003cbr\u003e깃 태그와 연동해서 릴리스 단위로 임의의 파일을 2GB까지 업로드할 수 있다.\u003cbr\u003e\/ 깃허브 릴리스는 명령줄 도구 배포 시에 자주 사용된다.\u003cbr\u003e예를 들면 Go로 단일 바이너리 실행 파일을 작성해서 배포하는 경우다.\u003cbr\u003e단순히 파일만 다운로드할 수 있으면 되는 간단한 용도에 적합하다.\u003cbr\u003e또한, 소프트웨어 배포를 하지 않고 릴리스 노트만 배포하는 사용법도 있다.\u003cbr\u003e\/ 깃허브 릴리스는 리포지터리와 자연스럽게 연계된다.\u003cbr\u003e브라우저에서 버전 간 차이를 커밋 단위로 추적할 수 있다.\u003cbr\u003e깃허브 CLI를 통해 조작할 수도 있으며 자동화도 쉽다.\u003cbr\u003e\u003cbr\u003e--- p.179\u003cbr\u003e\u003cbr\u003e깃허브 액션에서 OIDC를 사용하면 깃허브상에서 정적 인증 정보를 관리할 필요가 없어진다.\u003cbr\u003e임시 인증 정보를 가져올 수 있기 때문이다.\u003cbr\u003e임시 인증 정보는 정적 인증 정보보다 안전하며 운영도 편해진다.\u003cbr\u003e\/ 이 밖에도 다른 이점이 있다.\u003cbr\u003e클라우드 서비스 인증 시에 접속할 수 있는 대상을 세밀하게 제어할 수 있다는 것이다.\u003cbr\u003e예를 들어 깃허브 액션의 경우 특정 리포지터리에만 접속 권한을 허가할 수 있다.\u003cbr\u003e이것은 OIDC를 사용할 때 얻을 수 있는 또다른 부수 효과다.\u003cbr\u003e\u003cbr\u003e--- p.216\u003cbr\u003e\u003cbr\u003e접속 키 등의 인증 정보는 높은 기밀성이 요구되는 자산이다.\u003cbr\u003e인증 정보는 공격자가 간절히 원할 정도로 매력적인 데이터다.\u003cbr\u003e반면 인증 정보는 부주의하게 취급되기 쉬운 정보이기도 하다.\u003cbr\u003e암호화하지 않고 텍스트로 관리하는 사람도 있다.\u003cbr\u003e\/ 텍스트로 버전 관리하는 것은 논외로 하더라도 인증 정보의 적절한 운영은 꽤 어려운 작업이다.\u003cbr\u003e잠재적으로 사람의 실수로 유출될 수도 있어서 이를 방지하기 위한 많은 노력이 필요하다.\u003cbr\u003e명확한 보상은 없지만 실수하면 막대한 피해를 입힐 수 있다.\u003cbr\u003e\n\u003c\/div\u003e \u003cdiv\u003e--- p.311\u003c\/div\u003e \u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \",\"\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e출판사 리뷰\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e  \u003cb\u003e‘감’으로만 다뤄온 깃허브 CI\/CD, 이제는 제대로 설계할 차례\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e많은 개발자가 깃허브 액션을 쓰지만, 그 구조를 설계해본 경험은 드물다.\u003cbr\u003e아직도 감에 의존해 CI\/CD를 운영하거나 복잡한 설정을 그대로 복붙하며 사용하는 경우가 많다.\u003cbr\u003e하지만 그렇게 만든 자동화는 유지가 어려울 뿐만 아니라 확장도 불가능하다.\u003cbr\u003e이 책은 그런 막연한 접근에서 벗어나 깃허브 액션을 중심으로 실무에 최적화된 CI\/CD 시스템을 직접 설계하고 운영하는 방법을 안내한다.\u003cbr\u003e\u003cbr\u003e총 3부로 구성된 이 책은 기초부터 고급, 응용까지 단계적으로 노하우를 알려준다.\u003cbr\u003e1부는 CI\/CD의 필요성과 깃허브 액션의 기본 개념을 설명한다.\u003cbr\u003e워크플로 구문, 조건 처리, 환경 변수 등을 익히며, 테스트 자동화와 CI 설계의 기반을 다진다.\u003cbr\u003e2부는 실전 중심으로, 리포지터리 구조 설계, 의존성 자동화, 릴리스 배포, 클라우드 연동까지, 바로 써먹을 수 있는 자동화 흐름과 OIDC 인증, 오픈소스 액션 관리 등 고급 주제도 함께 다룬다.\u003cbr\u003e3부는 앱 토큰, 보안 전략, 액션 고급 기능을 통해 복잡한 환경에서도 안정적으로 시스템을 유지할 수 있는 방법을 소개한다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e이 책은 단순히 깃허브 액션 사용법만 알려주는 기술서가 아니다.\u003cbr\u003e코드 설명에만 머물지 않고, 왜 그렇게 설계해야 하는지, 어떻게 해야 현장에서 오래 살아남는 구조가 되는지를 함께 짚어본다.\u003cbr\u003e자동화를 구조적으로 설계하고, 팀과 조직의 개발 문화를 바꾸고자 하는 사람에게 필요한 실전형 설계서다.\u003cbr\u003e이러한 실무성과 전문성을 두루 인정받아 2025년 일본 ‘IT 엔지니어 도서 대상’ 기술서 부문 TOP 10에 선정되었다.\u003cbr\u003e자동화를 이해하고 구조를 설계할 줄 아는 개발자로 나아가기 위한 출발점이 바로 이 책이다.\u003cbr\u003e\u003cbr\u003e\u003cb\u003e대상 독자\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e● 깃허브 액션은 처음인 깃허브 사용자\u003cbr\u003e● CI\/CD 개념만 알고 있던 실무자\u003cbr\u003e● 자동화를 체계적으로 배우고 싶은 개발자\u003cbr\u003e\u003cbr\u003e\u003cb\u003e주요 내용\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e● 깃허브 액션의 구조와 워크플로 구문 이해\u003cbr\u003e● 워크플로 실행 조건과 환경 설정 방식\u003cbr\u003e● 테스트, 릴리스, 패키지 배포 자동화 구현\u003cbr\u003e● 커스텀 액션과 모듈화 전략 적용법\u003cbr\u003e● 의존성 업데이트와 깔끔한 리포지터리 운영법\u003cbr\u003e● OpenID Connect를 이용한 클라우드 서비스 인증 연동\u003cbr\u003e● 리포지터리 간 연동을 위한 깃허브 앱 토큰 활용\u003cbr\u003e● 실무 중심의 CI\/CD 설계와 보안 운영 전략 \u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \"]\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003eGOODS SPECIFICS\u003c\/div\u003e\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003e발행일 : \u003c\/strong\u003e2025년 07월 08일\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003e쪽수, 무게, 크기 : \u003c\/strong\u003e404쪽 | 188*245*19mm\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN13 : \u003c\/strong\u003e9791194587248\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN10 : \u003c\/strong\u003e1194587240\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ccenter\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cspan\u003e\u003c\/span\u003e\n\u003c\/center\u003e\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893275951146,"sku":"138711","price":38.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/87a845eacd229ef1ea2cf5000d266845.jpg?v=1765395253","url":"https:\/\/librairie.coreenne.fr\/ko\/products\/138711","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}