본문으로 바로가기
전자책
평면표지(2D 앞표지)

러닝 깃허브 액션

깃허브로 시작하는 지속적 통합 및 배포 자동화


  • ISBN-13
    979-11-6921-817-7 (95000)
  • 출판사 / 임프린트
    한빛미디어(주) / 한빛미디어(주)
  • 정가
    24,000 원 확정정가
  • 발행일
    2024-05-20
  • 출간상태
    출간
  • 저자
    브렌트 래스터
  • 번역
    정한결 , 정의형
  • 메인주제어
    소프트웨어엔지니어링
  • 추가주제어
    프로그래밍기법 , 협업 및 그룹소프트웨어
  • 키워드
    #깃허브 #깃허브 액션 #CI #CD #지속적 통합 #지속적 배포 #파이프라인 #이벤트 트리거 #빌드 자동 #배포 자동화 #테스트 자동화 #젠킨스 #트래비스 #데브옵스 #소프트웨어엔지니어링 #프로그래밍기법 #협업 및 그룹소프트웨어
  • 도서유형
    전자책, PDF
  • 대상연령
    모든 연령, 성인 일반 단행본

책소개

개발 생산성을 극대화하는 깃허브 액션 종합 가이드

깃허브 액션을 활용해 개발 시간을 단축하고 협업 효율을 높이세요! 오픈 소스 작가이자 트레이너, DevOps 디렉터인 저자가 완벽한 깃허브 사용법을 설명합니다. 액션과 워크플로가 무엇인지, 이를 프로세스에 통합해 개발 과정을 단순화, 표준화, 자동화하는 방법은 무엇인지 알아봅시다. 깃허브 액션으로 코드 유효성 검사부터 복잡한 배포 파이프라인까지 구현하세요. CI/CD를 처음 접하는 분부터 깃허브 액션 사용을 고민했던 개발자까지 프로젝트에 바로 적용할 수 있는 실무 중심의 내용을 담았습니다. 이제 깃허브 액션으로 개발 프로세스를 혁신하세요!

목차

PART 1 깃허브 액션의 기초

CHAPTER 1 기본 사항
_1.1 깃허브 액션
__1.1.1 자동화 플랫폼
__1.1.2 프레임워크
_1.2 깃허브 액션의 사용 사례
__1.2.1 스타터 워크플로
__1.2.2 액션 마켓플레이스
_1.3 이용 요금
__1.3.1 무료 모델
__1.3.2 유료 모델
_1.4 깃허브 액션 이전 체크리스트
__1.4.1 깃허브 사용량
__1.4.2 공개 액션
__1.4.3 자체 제작 액션
__1.4.4 아티팩트 관리
__1.4.5 액션 관리
_1.5 결론

CHAPTER 2 액션의 작동 원리
_2.1 개요
_2.2 워크플로 발동
_2.3 컴포넌트
__2.3.1 스텝
__2.3.2 러너
__2.3.3 잡
__2.3.4 워크플로
_2.4 워크플로 실행
_2.5 결론

CHAPTER 3 잡 구현
_3.1 액션의 구조
_3.2 액션과의 상호작용
_3.3 액션 사용법
_3.4 공개 액션과 마켓플레이스
_3.5 결론

CHAPTER 4 워크플로 사용법
_4.1 리포지터리에서 만드는 워크플로 생성
_4.2 워크플로 커밋
_4.3 VS 코드용 깃허브 액션 확장 기능 사용
_4.4 결론

CHAPTER 5 러너
_5.1 깃허브 호스팅 러너
__5.1.1 러너 이미지 내 지원 소프트웨어
__5.1.2 러너에 소프트웨어 추가
_5.2 자체 호스팅 러너
__5.2.1 자체 호스팅 러너 시스템의 요구 사항
__5.2.2 자체 호스팅 러너의 제한 사항
__5.2.3 자체 호스팅 러너 보안 고려 사항
__5.2.4 자체 호스팅 러너 설정
__5.2.5 자체 호스팅 러너 사용
__5.2.6 자체 호스팅 러너와 레이블 사용
__5.2.7 자체 호스팅 러너 트러블슈팅
__5.2.8 자체 호스팅 러너 제거
_5.3 자체 호스팅된 러너 오토스케일링
_5.4 저스트 인 타임 러너
_5.5 결론

PART 2 깃허브 액션의 구성 요소

CHAPTER 6 워크플로 환경 관리
_6.1 워크플로 이름과 워크플로 실행 이름
_6.2 컨텍스트
_6.3 환경 변수
__6.3.1 기본 환경 변수
_6.4 비밀 변수 및 구성 변수
_6.5 워크플로 권한 관리
_6.6 배포 환경
_6.7 결론

CHAPTER 7 워크플로에서의 데이터 관리
_7.1 워크플로의 입출력 사용
__7.1.1 워크플로의 입력 정의 및 참조
__7.1.2 스텝에서 출력 확인
__7.1.3 잡의 출력 확인
__7.1.4 스텝에서 캡처하는 액션의 출력
_7.2 아티팩트 정의
_7.3 아티팩트 업로드 및 다운로드
__7.3.1 매개변수 추가
_7.4 깃허브 액션에서 캐시 사용
__7.4.1 명시적 캐시 액션 사용
__7.4.2 캐시 모니터링
__7.4.3 설정 액션에 캐시 활성화
_7.5 결론

CHAPTER 8 워크플로 실행 관리
_8.1 고급 변경 사항 트리거
__8.1.1 활동 유형에 따른 트리거
__8.1.2 필터를 활용한 트리거 구체화
_8.2 변경 없는 워크플로 트리거
_8.3 동시성 처리
_8.4 매트릭스로 워크플로 실행
_8.5 워크플로 전용 함수
__8.5.1 조건부 및 상태 함수
_8.6 결론

PART 3 보안과 모니터링

CHAPTER 9 액션과 보안
_9.1 설정을 통한 보안
__9.1.1 풀 리퀘스트에서 워크플로 실행 관리
__9.1.2 워크플로 권한 허가
__9.1.3 CODEOWNERS 파일
__9.1.4 보호된 태그
__9.1.5 보호된 브랜치
__9.1.6 리포지터리 규칙
_9.2 설계를 통한 보안
__9.2.1 비밀 변수
__9.2.2 비밀 변수 보호
__9.2.3 토큰
__9.2.4 신뢰할 수 없는 입력 처리
__9.2.5 종속성 보안
_9.3 모니터링을 통한 보안
__9.3.1 스캔
__9.3.2 풀 리퀘스트의 안전한 처리
__9.3.3 풀 리퀘스트 내 워크플로의 취약점
__9.3.4 풀 리퀘스트 내 소스 코드의 취약점
__9.3.5 풀 리퀘스트 유효성 검사 스크립트 추가
__9.3.6 안전한 풀 리퀘스트 처리
_9.4 결론

CHAPTER 10 모니터링, 로깅 및 디버깅
_10.1 가시성 향상
__10.1.1 고수준에서의 상태 이해
__10.1.2 워크플로용 상태 배지
_10.2 이전 버전의 상태 작업
__10.2.1 워크플로 버전을 실행에 연결
__10.2.2 워크플로에서 잡 재실행
_10.3 워크플로 디버깅
__10.3.1 스텝별 디버그 로깅
__10.3.2 러너 환경 디버깅
__10.3.3 디버깅 활성화
_10.4 로깅 확장 및 커스터마이징
__10.4.1 로그에 나만의 메시지 추가
__10.4.2 추가적인 로그 커스터마이징
__10.4.3 사용자 맞춤형 잡 요약
_10.5 결론

PART 4 심화 주제

CHAPTER 11 커스텀 액션
_11.1 액션 구조 해부
_11.2 액션 유형
__11.2.1 복합 액션
__11.2.2 도커 컨테이너 액션
__11.2.3 자바스크립트 액션
_11.3 액션 생성 마무리
_11.4 깃허브 마켓플레이스에 액션 게시
__11.4.1 마켓플레이스에서 액션 업데이트
__11.4.2 마켓플레이스에서 액션 제거
_11.5 액션 툴킷
__11.5.1 툴킷에서 워크플로 명령어 사용
_11.6 로컬 액션
_11.7 결론

CHAPTER 12 고급 워크플로
_12.1 나만의 스타터 워크플로
__12.1.1 스타터 워크플로 영역
__12.1.2 스타터 워크플로 파일
__12.1.3 보조적 조각 추가
__12.1.4 새 스타터 워크플로 사용
_12.2 재사용 가능한 워크플로
__12.2.1 입력 및 비밀 변수
__12.2.2 출력
__12.2.3 제한 사항
_12.3 필수 워크플로
__12.3.1 제약 조건
__12.3.2 예시
__12.3.3 실행
_12.4 결론

CHAPTER 13 고급 워크플로 기술
_13.1 워크플로에서 깃허브 활용
__13.1.1 깃허브 CLI 사용
__13.1.2 스크립트
__13.1.3 깃허브 API 호출
_13.2 매트릭스를 활용한 잡 자동 생성
__13.2.1 1차원 매트릭스
__13.2.2 다차원 매트릭스
__13.2.3 추가 값 포함
__13.2.4 값 제외
__13.2.5 실패 사례 처리
__13.2.6 잡 동시성 최댓값 정의
_13.3 워크플로에서 컨테이너 사용
__13.3.1 컨테이너를 잡 실행 환경으로 사용
__13.3.2 스텝 수준에서 컨테이너 사용
__13.3.3 잡에서 컨테이너를 서비스로 실행
_13.4 결론

CHAPTER 14 깃허브 액션으로 마이그레이션
_14.1 준비
__14.1.1 소스 코드
__14.1.2 자동화
__14.1.3 인프라
__14.1.4 사용자
_14.2 애져 파이프라인
_14.3 CircleCI
_14.4 깃랩 CI/CD
_14.5 젠킨스
_14.6 트래비스 CI
_14.7 깃허브 액션 임포터
__14.7.1 인증
__14.7.2 계획
__14.7.3 빌드 스텝 관련 사항
__14.7.4 수동으로 할 일
__14.7.5 파일 매니페스트
__14.7.6 예측
__14.7.7 드라이 런 수행
__14.7.8 임포터를 위한 커스텀 트랜스포머
__14.7.9 실제 마이그레이션
_14.8 결론
찾아보기

본문인용

-

서평

프로젝트 자동화의 시작점,
깃허브 액션
깃허브 액션은 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 지속적 통합 및 지속적 배포(CI/CD) 플랫폼이다. 깃허브를 많이 사용하는 개발자라면 다른 애플리케이션을 사용하지 않고도 깃허브 액션을 사용해 자동화를 구현할 수 있다. 이 도서는 기초적인 자동화 방법부터 보안, 심화 주제까지 차례로 소개한다.
1부. 깃허브 액션의 기초
깃허브 액션의 정의와 작동 방식에 대한 기본 사항, 프레임워크의 핵심 요소, 전체적인 흐름을 소개한다. 깃허브 액션에 입문하는 독자가 이용하는 데 어려움이 없을 정도로 확고한 기반을 다진다. 
2부. 깃허브 액션의 구성 요소 
깃허브 액션에서 설정, 데이터 공유 및 저장, 워크플로 실행 트리거 및 제어에 필요한 각종 구성 요소를 배우며 액션에 대한 지식을 확장한다.
3부. 보안과 모니터링
깃허브 액션을 사용하는 과정에 필요한 보안을 설정, 설계, 모니터링이라는 세 가지 관점에서 살펴본다. 로깅에 사용하는 다양한 옵션과 문제 디버깅에 사용하는 기술을 설명해 모니터링 자체를 자세히 살펴본다. 
4부. 심화 주제
사용자 지정 액션 제작, 스타터 워크플로 및 재사용 가능한 워크플로 제작, 깃허브 CLI 및 API 사용, 워크플로에서 매트릭스 전략 및 컨테이너 사용 등 깃허브 액션을 사용하며 알아두면 좋을 다양한 주제를 소개한다. 또한, 마지막 장에서는 다른 자동화 툴에서 깃허브 액션으로 마이그레이션하는 방법을 살펴본다.
대상 독자
깃허브를 처음 사용하며 자동화가 어떻게 작동하는지 알고 싶은 분
깃허브 액션으로 실제로 워크플로를 구성하는 코드와 구문을 구현하는 데 도움을 원하는 분
CI/CD 및 자동화에 깃허브 액션 도입을 고려하는 목적으로 이해하고 평가하려는 분
현재 사용하는 CI/CD 설루션을 깃허브 액션으로 마이그레이션하려는 분

배우는 내용
도커, 자바스크립트, 셸을 사용한 커스텀 액션 작성
워크플로에 발생한 문제 해결 및 디버깅 방법
깃허브 액션으로 워크플로를 안전하게 구현하는 법
다른 CI/CD 플랫폼에서 깃허브 액션으로 마이그레이션하는 법

저자의 말
깃허브 액션은 깃허브를 떼 놓고 정의하거나 분류하기 어렵습니다. 깃허브 모델을 논리적으로 한층 더 확장한 것이라고 말하는 편이 적확할 것 같습니다. 이 책은 깃허브의 원리를 안내하는 책은 아닙니다만, 깃허브 액션이 깃허브 생태계 전체적으로 함께 작동하는 방식을 깃허브를 통한 자동화 경험 수준과 관계없이 이해하기 쉽게 쓰려고 노력했습니다.

브렌트 래스터


추천사
이 책은 CI/CD를 처음 접하는 분, 이 분야의 첫 번째 제품으로 깃허브 액션을 시작하는 분부터 다른 도구에서 마이그레이션하는 CI/CD 전문가까지 모두에게 생산성을 빠르게 향상하는 데 도움이 되는 적절한 정보를 균형 있게 담았습니다.
- 줄리안 C. 던, 깃허브 액션 제품 관리 부문 선임 이사

소프트웨어 개발 자동화를 통달하고 싶다면, 이 종합 가이드를 절대 놓치지 마세요.
- 테일러 돌레잘, 클라우드 네이티브 컴퓨팅 재단 생태계 책임자

저자소개

번역 : 정한결
개발자이자 교육자, 정보유통업자입니다. 서울대학교에서 인류학을, 국립방송통신대학교에서 컴퓨터과학과 통계/데이터과학을 전공했습니다. 다방면의 지식 공유를 통해 AI 생태계의 성장 촉진에 기여했으며, 프로덕트 지향적 AI 엔지니어 모임을 운영하고 있습니다. 계속 배우는 사람으로서 더 잘 학습한 AI를 만들고, 다시 그 AI가 사람의 성장을 돕는 순환을 만들고자 합니다.
번역 : 정의형
LG CNS에서 빅데이터 플랫폼 아키텍트로 차세대 데이터 플랫폼 프로젝트를 진행하고 있습니다. 다양한 데이터관련 오픈소스와 AI 기술에 관심이 많으며 여러 기술을 공부하기 좋아합니다. 또한 기술을 이해하기 쉽게 전달하는 교육에 관심이 많습니다.
저자 : 브렌트 래스터
브렌트 래스터는 SAS의 R&D 데브옵스 디렉터입니다. 그는 전 세계적인 오픈소스 기술 트레이너이자 작가, 연사입니다. 또한, 기술의 이해와 사용을 돕는 회사인 유한법인 테크 스킬 트랜스포메이션의 창립자입니다. 소프트웨어 개발 및 관리자로 활동하는 내내 브렌트는 기술 및 리더십 스킬을 배우고 익히며 남들과 공유하는 데 시간을 할애했습니다. 특정 주제나 기술에 대한 관심을 넘어, 다른 사람에게 필요한 지식을 제공하며 얻는 고양감에서 힘을 얻습니다.
상단으로 이동