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 결론찾아보기