[BOOK] 러닝 깃허브 액션 - 브렌트 래스터 지음 / 정의형, 정한결 옮김![]() 부제: "깃허브로 시작하는 지속적 통합 및 배포 자동화" GitHub는 Git을 기반으로 하는 버전 관리 시스템(VCS; Version Control System)을 클라우드 기반으로 서비스합니다. GitHub Action은 GitHub 서비스에서 CI/CD를 담당합니다. 새롭게 코드가 변경되었을 때 자동화된 빌드, 테스트, 실행이 가능하고, 서비스 환경으로 배포가 가능합니다. CI/CD 도구는 다양하지만 GitHub의 기능과 연계된 다양한 자동화 기능을 활용할 수 있는 점이 GitHub Action의 강점입니다. '러닝 깃허브 액션'에서는 코드가 커밋된 시점부터 배포까지의 과정에 필요한 모든 것을 설명합니다. 동작 원리에 대한 설명으로 시작해서 보안, 모니터링에 관련된 고급 기술까지 설명합니다. 마켓플레이스의 액션들을 활용하는 방법, 다른 CI/CD 플랫폼에서 GitHub Action으로 변경하는 방법도 알려줍니다. GitHub Action을 사용하여 CI/CD를 구축하려는 분들에게 도움이 될 정보가 책 한 권에 담겨있습니다. "한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다." |
|
'인간은 망각의 동물이다. 또한 인간은 같은 실수를 반복하는 동물이다.' 개발을 하다 보면 사소하지만 익숙한 것들에 대해서 자주 그것도 반복적으로 실수를 하는 경우가 있다. 가령 변수 이름을 일괄 변경해야 했음에도 이를 망각한다든가, 테스트 절차나 혹은 빌드 과정에서 특정 값들을 넣어주거나 빼줘야 함에도 이를 까먹고 같은 실수를 반복하거나.. 등.. 이런 자잘한 실수가 쌓이다 보면 은연중, 나도 모르게 몸이 경직되는 상황? (긴장으로 인하여)에 처하게 된다. 왜냐하면 인간 스스로가 이러한 자잘한 실수를 용납하지 못하는 기질을 가지고 있기 때문이다. (개발자라면 더더욱) 하지만 인간은 망각의 동물이며, 같은 실수를 반복하고, 생각보다 미완의 존재임을 인정하게 된다면 이러한 문제를 보다 쉽게 극복할 수 있다. 즉, 사소한 것들을 자동화함으로써 위의 문제를 극복해 내는 것이다. 예전에는 이러한 과정을 jenkins를 비롯한 다양한 툴들을 통해 보완해왔다면, 이제는 git에서 제공하는 기능인 'git action'만으로도 어느 정도 혹은 그 이상의 기능들을 자동화할 수 있게 되었다. 【책의 구성】 "러닝 깃허브 액션"의 구성은? 러닝 깃허브 액션은 총 4개의 파트와 14개의 챕터로 구성되어 있으며, 파트는 '기초', '액션의 구성 요소', '보안과 모니터링', '심화 주제'로 구성되어 있다. 각 파트는 해당 파트의 주제에 알맞은 챕터들로 구성되어 있고, 각 챕터의 내용들 하나하나가 모두 깃 액션을 이해하는 데에 있어서 반드시 필요한 요소이므로 모든 챕터를 순차적으로 읽어가시며 학습하시길 권장한다. 금일 블로그에서는 1챕터의 내용 위주로 리뷰를 진행할 예정이며, 자세한 내용은 책을 참고하면 된다. 챕터 1 : 기본 사항 이 장에서는 깃허브 액션의 기초적인 원리와 깃허브 액션의 도입 배경에 대해서 설명하고 있다. 많은 분들이 해당 기술의 도입 배경에 대해서는 간과한 채 바로 기술 습득에만 몰두하는 경향이 있는데, 될 수 있으면 기술이 발생한 배경과 도입 이유에 대해서도 알아두면 좋다. 왜냐하면 해당 기술이 기존의 어떤 부분의 미흡한 부분을 완화하였고 새로운 장점이 무엇이 있는지를 잘 알아두면 추후 비슷한 기능들이 등장하였을 때 이를 보다 체계적으로 분석하고 도입할 수 있기 때문이다. 이 장에서의 가장 핵심은 '이용 요금' 부분인데, 깃헙 액션을 무료로 사용하기 위해서는 (runner를 github에서 제공하는 것을 사용하기 위해서는) 반드시 보인의 프로젝트를 public으로 설정해야 함을 명심하도록 하자. 챕터 2 : 액션의 작동 원리 모든 기술의 가장 중요한 방법은 그 기능이 어떻게 작동되는지 원리를 파악하는 것이라 할 수 있다. 해당 챕터에서는 깃헙을 이루고 있는 스텝과 러너, 잡, 워크플로에 대해서 자세히 설명하고 있다. '러너'는 깃헙 액션을 수행하는 물리/가상 서버 즉 컨테이너를 의미하며 '잡'은 깃 헙 액션이 수행해야 할 테스크를 의미한다. '스텝은' 상기 '잡'에서 수행할 작은 단위의 테스크를 의미하고 '워크플로'는 위의 '잡'들을 어떤 조건에서 어떻게 수행할지를 정의해둔 명세라고 생각하면 된다. 챕터 4 : 워크플로 사용법 워크플로의 사용법은 간단하다. 첫 번째로 본인이 원하는 workflow를 본인 repo의 '/.github/workflows' 해당 위치에 넣어둔다. ( https://github.com/actions 상기 홈페이지에 접속하여 자동화하고자 하는 내용의 workflow를 잘 찾아서 본인 repo에 카피하거나 아니면 직접 git action workflow를 구성하여(11장 내용) 상기 폴더 위치에 worfklows file을 넣어두면 된다.) 두 번째로 worklfow에 명시해둔 trigger 정책에 따라서 workflow를 트리거랑 하면 된다. 그 후, 마지막으로 trigger된 git action이 잘 수해 되었는지 확인하면 된다. 【 러닝 깃허브 액션을 읽고 나서 】 근래 회사에서 개발하고 있는 신규 플랫폼에서는 이번 리뷰에서 다룬 '깃허브 액션'을 적극 사용하고 있다. 이를 통해 docker image를 자동으로 docker repo에 업로드하거나, 아니면 lib를 공용 maven에 자동으로 업로드하거나, sonarqube와 연동하여 dirty code 분석이나 혹은 test code의 code coverage가 얼마나 되는지를 손쉽게 파악하게 되었고, 무엇보다 위 과정이 자동화되었기 때문에 한결 마음 편하게 비즈니스 로직 구현에만 집중할 수 있게 되었다. 옛말에 바퀴가 있는데, 구태여 바퀴를 다시 만들고 정의할 필요가 없다고 하였다. 시대에 따라, 좋은 기술이 나오면 마다할 이유가 없다는 것이다. 더욱이 git의 기능을 자동화하기 위해 git 외의 툴에서 위의 내용들을 자동화 해오던 참에, git 자체에서 위와 같은 자동화 툴을 제공해 준다고 하였으니 더더욱 마다할 이유가 없게 된 것이다. 어찌 보면 참 애매할 수 있다. 신규 기능이 마냥 다 좋은 것이라 할 수도 없고, 이를 도입한다고 하여 생산성이 반드시 향상된다고 보장할 수도 없기 때문이다. 다만, 특정 기능을 이용하던 중에 해당 회사에서 이와 관련된 지원툴을 출시하였다면 필시 상호 호환성 만큼은 철저히 검증하였을 가능성이 크다. 따라서 기회가 된다면 깃 액션을 꼭 한번 적용해 보시길 권장한다. #본 도서는 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. ? |
|
"러닝 깃허브 액션"은 소프트웨어 개발의 자동화를 위해 깃허브 액션을 효과적으로 활용하는 방법을 체계적으로 안내하는 책이다. 이 책은 깃허브 액션에 대한 기초부터 고급 사용법까지 포괄적으로 다루며, 특히 지속적 통합/지속적 배포(CI/CD) 파이프라인을 구성하는 데 중점을 둔다. 책의 저자인 브렌트 래스터는 오픈 소스 트레이너 및 데브옵스 디렉터로서의 풍부한 경험을 바탕으로 독자들에게 깃허브 액션의 가치를 전달하고 있다. 책의 내용을 앞에서부터 살펴보면 CI/CD의 기본 개념이 어떻게 발전해왔는지, 깃허브 액션이 이러한 흐름에서 어떤 위상인지를 설명한다. CI/CD의 개념은 2000년대 초반에 등장했지만, 도구로 사용되기까지는 시간이 걸렸다. 이는 소프트웨어 개발이 협업 중심으로 변하고, 애자일이 널리 퍼지고, 데브옵스 문화가 정착하는 등의 사회/기술적 변화가 필요했기 때문이다. 이러한 변화를 통해 깃허브 액션은 깃허브에 자연스럽게 통합된 자동화 플랫폼으로 자리 잡게 되었다. 이 책은 크게 네 부분으로 나누어져 있다.
"1부: 깃허브 액션의 기초"에서는 깃허브 액션의 기본 개념과 구조를 설명하며, 독자들이 기초를 탄탄히 다질 수 있도록 한다. 깃허브 액션이 무엇인지, 어떻게 작동하는지에 대해 상세히 다룹니다. "2부: 깃허브 액션의 구성요소"에서는 깃허브 액션을 활용하는 데 필요한 다양한 옵션과 구성 방법을 설명한다. 데이터 공유, 실행 제어 등의 방법을 통해 작업을 효과적으로 수행할 수 있도록 돕는다. "3부: 보안과 모니터링"에서는 깃허브 액션을 안전하게 사용하는 방법과 모니터링 기술을 설명한다. 보안 설정, 모니터링 등의 관점에서 중요한 내용을 다루며, 로깅 및 디버깅 방법을 포함한다. "4부: 심화 주제"에서는 커스텀 액션 생성, 깃허브 CLI 및 API 사용, 매트릭스 전략, 컨테이너 활용 등 심화 주제를 다룬다. 또한 다른 자동화 도구에서 깃허브 액션으로의 마이그레이션 방법에 대해서도 설명한다. "러닝 깃 허브 액션"의 가장 큰 장점은 체계적인 접근 방식이다. 저자는 독자들이 처음부터 끝까지 깃허브 액션을 쉽게 따라 배울 수 있도록, 기초 개념부터 시작해 점진적으로 심화 주제로 나아간다. 각 내용마다 명확한 예제와 단계별 설명을 통해 독자들이 실제로 적용할 수 있는 지식을 제공한다. 특히 깃허브 액션의 보안을 중점적으로 다루는 부분은 실무에서 매우 유용할 것이다. 또한, 이 책은 다양한 독자층을 고려한다. 깃허브와 CI/CD 개념에 익숙하지 않은 초보자부터, 이미 경험이 있는 전문가까지 모두가 이 책을 통해 새로운 지식을 얻을 수 있다. 단점을 찾아보자면, 깃허브 액션의 특정 기능이나 업데이트가 책의 출판 시점 이후로 변경될 수 있다는 것이다. 기술은 빠르게 변화하기 때문에, 책에서 다루는 일부 내용이 최신 상태가 아닐 수가 있다. 물론, 저자는 이 문제를 보완하기 위해 항상 깃허브의 최신 문서를 참고할 것을 권장한다. "러닝 깃허브 액션"은 깃허브 액션을 처음 접하는 사람부터 이미 사용하고 있는 전문가들까지 모두에게 유익한 책이다. 책에서 언급하는 내용들은 독자들이 깃허브 액션을 효과적으로 활용하는 데 큰 도움이 될 것이다. 깃허브 액션을 통해 소프트웨어 개발 프로세스를 자동화 및 최적화하고자 하는 모든 이들에게 추천한다. |
|
#리뷰어클럽리뷰 #깃허브액션 #CI/CD 깃허브 액션을 활용해 개발 시간을 단축하고 자동화하는 방법을 배우고 싶다면 <러닝 깃허브 액션> 개발을 하다보면 조금 더 효율적으로 개발 시간을 단축할 수 있는 방법이 있을까 고민이 될때 개발 시간을 단축하고 효율적으로 할 수 있는 자동화 방법을 배울 수 있는 책. 총 4개의 PART와 12개의 챕터로 구성되어 있는 이 책에서는 깃허브 액션이란 무엇인지 정의, 액션의 작동 원리, 워크플로의 사용법 등 깃허브 액션에 대한 전반적인 개본 내용들을 다루고 있으며, 액션의 구성 요소, 보완과 모니터링 그리고 심화 내용까지 다루고 있어 깃허브 액션에 대한 전반적인 기본 지식들을 익힐 수 있다 또한, CI/CD를 처음 접하는 분이나 다른 CI/CD 플랫폼에서 깃허브 액션으로 마이그레이션하는 법에 대해서도 다루고 있어 깃허브 액션을 통해 개발을 효율적으로 진행하고 싶은 분이라면 이 책을 참고해서 읽어보면 좋을 것 같다 * YES24 리뷰어클럽 서평단 자격으로 작성한 주관적인 리뷰입니다 |
![]()
러닝 깃허브 액션 Learning GitHub Actions이번에 살펴볼 책은 깃허브 액션에 대한 내용을 다루는 책이다. 이 책은 깃허브의 일반적인 가이드북이 아니다. 대신, 깃허브의 다양한 기능을 활용하여 지속적 통합(CI) 및 지속적 배포(CD) 파이프라인을 생성하고, 반복적인 작업을 자동화하여 개발 프로세스를 간소화할 수 있도록 하는데 목적이 있다. 대상독자따라서 이 책의 대상은 깃과 깃허브에 대한 기본 지식을 가지고 있어야 한다. 그리고 이것을 이용해 워크플로에 액션을 구현하는 방법을 알고 싶어 하는 개발자를 대상으로 한다. 특히, 젠킨스나 트래비스 CI 같은 솔로션을 사용해 본 경험이 있고, 깃허브 액션의 자동화 플랫폼과 프레임워크로 자신의 소프트웨어 개발 생명주기 프로세스를 개선하려는 개발자에게 많은 도움이 될 것이다. 이책은 다음 총 4개의 장으로 구성되어 있다. PART1. 깃허브 액션의 기초1장은 깃허브 액션의 정의와 작동 방식에 대한 기본 사항, 프레임워크의 핵심 요소, 그리고 전체적인 흐름을 소개한다. 이를 통해 깃허브 액션에 입문하는 개발자들이 알아야 할 기본 원리와 사용법을 설명하여 깃허브 액션을 이용하는데 어려움이 없도록 기반을 다진다. PART2. 깃허브 액션의 구성 요소2장에서는 설정, 데이터 공유 및 저장, 워크플로 실행 트리거 및 제어에 필요한 각종 구성 요소를 다룬다. 이러한 기술은 액션을 사용해 원하는 작업을 완료 하는데 핵심적인 역활을 한다. 이번 장을 통해 자신에게 가장 적합한 액션을 직접 만드는 방법을 배울 수 있을 것이다. PART3. 보안과 모니터링3장에서는 보안과 모니터링에 대해 다룬다. 보안을 설정, 설계, 모니터링 이라는 세 가지 관점에서 살펴보고, 로깅에 사용하는 다양한 옵션과 문제 디버깅 기술을 배워 모니터링 하는 방법을 익힐 것이다. PART4. 심화주제4장 심화주제 에서는 일상적으로 잘 다루지 않는 더욱 흥미로운 주제를 깊이 있게 탐구할 것이다. 나만의 사용자 지정 액션 제작, 나만의 스타터 워크플로 및 재사용 가능한 워크플로 제작, 깃허브 CLI 및 API 사용, 워크플로에서 매트릭스 전략 및 컨테이너 사용 등이 포함된다. 또한 다른 자동화 툴을 사용하는 경우 깃허브 액션으로 마이그레이션 하는 방법에 대한 몇 가지 실용적인 팁과 예시도 제공한다. 마지막으로, 마이그레이션을 부트스트랩하고 자동화하는데 도움이 되는 신규 기능인 깃허브 임포터에 대한 심층적인 검토와 예시도 담겨있다. 책의 최신 정보이 책을 읽다 보면 일부에서 '2024년 4월 기준' 이라는 표현이 보인다. 저자 본인이 본인을 위한 면책문구를 만들어둔 것이다. 현명한 방법이다. 집필시점에 최신의 정보를 최대한 담으려고 노력했겠지만, 책의 집필 시점과 출판 시점에는 상당한 시간차가 존재한다. IT 기술이 워낙에 빠른 속도로 발전하기 때문에 집필 시점의 내용이 우리가 책을 읽을 때에는 변경되거나, 아예 사라졌을 수도 있음을 염두해 두어야 한다. 베타 버전으로 표시된 기능은 최신 깃허브 문서를 참조해야 가장 최신의 정보를 얻을 수 있다. 마지막으로 이 책은 깃허브 액션을 통해 개발 프로세스를 자동화하고 간소화하려는 개발자들에게 매우 유용한 가이드가 될 것이다. 깃허브 액션의 기본 개념부터 고급 주제까지 폭넓게 다루고 있어, 다양한 수준의 개발자들이 참고할 수 있는 유익한 자료가 될 것이다. "한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다." |
|
#리뷰어클럽리뷰 깃허브 액션은 깃허브 리파지토리에서 바로 설정하고 실행할 수 있다는 장점이 있다고 합니다. 또한 리파지토리로 깃허브를 쓰고 있다면, 깃허브 액션은 요금제에 포함되어 있으므로 CI/CD를 직접 구축해볼만 하다. 또한 YAML파일을 사용해 다양한 조건과 환경에 맞춘 유연한 워크플로우 설정이 가능하고, 필요에 따라 커스텀 액션을 만들어서 확장도 할 수 있다니 좋은 것 같습니다. 또한 워크플로를 모니터링하고 보안을 강화할 수 이는 방법도 다루고 있어 이 챕터는 실무에서 발생하는 문제를 예방하고 대응하는데 있어 큰 도움이 될 것 같습니다. 특히, 자체 호스팅 러너와 레이블 사용, 트러블슈팅 방법도 나와 있어 실제 사용자에게 유익한 팁이 되지 않을까 싶습니다. 깃허브 액션의 기본부터 고급 기능까지 다루고 있는 책입니다. 다만, 깃허브와 CI/CD에 대한 기본 지식이 없다면 책이 어려울 수 있을 것 같습니다. 책에서도 대상 독자는 깃과 깃허브에 대한 기본 지식이 있으며, 이제 워크플로에 액션을 구현하는 방법을 알아내려는 사람들이라고 합니다. 깃허브를 쓰는 개발자고, 워크플로에 관심이 있다 하신 분들은 한 번 읽어보시면 좋을 것 같습니다. 'YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다' |
|
이 책은 단순히 코드를 깨끗하게 유지하는 방법을 넘어서, 효과적인 소프트웨어 개발 프로세스를 구축하는 데 필요한 철학과 기법을 제시한다. 켄트 벡의 풍부한 경험과 실질적인 조언은 개발자가 자신의 작업 방식을 재고하고, 더 나은 코드와 더 나은 개발 문화를 만드는 데 큰 도움이 될 것이다. "Tidy First?"는 개발자가 처음부터 올바르게 시작하여 지속 가능한 개발을 실천하도록 독려하는, 가치 있는 지침서다. "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
|
깃허브 액션은 특히 GitHub 리포지토리와의 긴밀한 통합으로 인해 CI/CD 생태계에서 가장 널리 사용되는 도구 중 하나로 빠르게 성장했습니다. 이는 많은 개발자가 이미 코드를 호스팅하고 있는 플랫폼 내에서 직접 워크플로 자동화를 단순화 한다. '러닝 깃허브 액션'은 소프트웨어 개발자들이 깃허브 액션을 완충할 수 있도록 안내하는 가이드책이다. 깃허브가 처음 이면 약간 어려울 수도 있어 깃과 깃허브에 대한 기본지식이 있는 사람이 읽으면 좋을거 같다. 하지만 깃허브 자동화 구성과 동작방식을 알고 싶은 개발자라면 충분히 흥미를 끌 수 있는 책이다. 1장에서는 깃허브 액션 개념과 동작방식을 적용사례와 설명해준다. 워크플로우 생성 커밋을 알아볼수 있다. 2장은 앞장에서 배운 워크플로 실행. 환경관리 설정 관리설정 등을 알 수 있다. 3장은 보안과 액션을 할 수있고 설정, 설계, 모니터링 보안 다양한 환경에서의 보안을 배울 수 있다. 4장은 심화주제이고 나만의 사용자 지정 액션 제작, 나만의 스타터 워크플로 및 재사용 가능한 워크플로 제작, 깃허브 cli 및 api 사용을 배울 수 있다. '러닝 깃허브 액션'의 가장 큰 장점은 기술적인 내용을 풀어서 설명해준다. 또한 마찬가지로 따라갈 수 있는 유용한 예제들이 매우 유용합니다. 처음 접하는 사람에게는 조금 어려울수 있지만 여러번 읽다보면 이해 될것이다. 나는 특히 기승전결에서 개념설명후 마지막 결론 있는게 좋았다. 읽고 내가 생각 했던 것들을 복기 하는 것 같았다.'YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다' #리뷰어클럽리뷰 |
![]() 브렌트 래스터 지음 정의형 정한결 옮김 Github Action을 처음 접한건 거의 1년전이다. 기존에는 Jenkins를 기반으로한 CI/CD 환경을 사용하고 있었다. 처음 Github Action을 접했을 때는 신기하기도 하고, 익숙하지 않아 불편하기도 하고 했었던 기억이 있다. 그 당시 제대로 배운게 아니라 필요한 부분만 찾아보며 공부했었는데 이렇게 책으로 볼 수 있어서 좋았다. 목차목차는 크게 4개로 되어 있다. - 1부: 깃허브 액션의 기초 ㄴ 사용사례, 이용요금, 체크리스트, 컴포넌트 소개, Job 구현, Runner 등에 대해서 다룬다. - 2부: 깃허브 액션의 구성 요소 ㄴ 워크플로우 환경, 데이터, 실행 관리에 대해 다룬다. - 3부: 보안과 모니터링 ㄴ 액션의 보안 설정 및 모니터링에 대한 내용을 다룬다. - 4부: 심화 주제 ㄴ 커스텀 액션, 고급 Workflow에 대한 내용을 다룬다. 정리![]() 깃허브 액션은 다음과 같이 동작한다. 1. 이벤트 발생 2. Repository에 저장된 Workflow 정의가 트리거 3. 워커플로가 지정하는 러너라는 시스템에서 Job이 실행 4. Job은 사전에 정의된 액션을 호출하거나 러너의 OS Shell 명령을 실행하는 Step으로 구성 ![]() 책을 읽다보니 공감되는 부분이 많았다. 내가 Jenkins를 사용하면서 느꼈던 생각이 책에 그대로 남겨 있어서 신기하기도 했다. 유연했지만 너무 유연해서 문제였다. 하나의 파이프라인을 만들기 위해서 너무 많은 과정들이 필요한게 Jenkins를 사용했을 때 힘들었던 부분이었던 기억이 있다. 나만 그렇게 느낀게 아니구나 싶었다. ![]() 앞서 새로운 내용을 배우다보니 새로운 용어들도 많이 접하게 되었다. 많은 용어를 한번에 보니까 용어들끼리 의미가 뒤섞여서 생각나기도 하고. 헷갈리기 시작했다. 그럴 때 노트 부분이 굉장히 좋았다. 새로운 기술에 배울 때에는 용어에 익숙해지는게 굉장히 어렵다. 중간중간에 존재하는 노트들이 배움에 있어서 어려운 점을 조금이나마 줄여주는 역할을 했다. ![]() 가장 집중해서 본 부분은 4부 심화주제 부분이었다. 앞서 내용들은 이미 알고 있는 내용도 많고 잘 쓰고 있어서 가볍게 보기 좋았다면 4부 심화 주제. 11장에서는 커스텀 액션에 대한 내용이 나온다. 액션을 사용하다보면 나에게 맞게 커스텀하게 사용하고 싶을 때가 있었다. 그런 궁금증을 해결해주는 장이었다. 아무래도 심화 주제이다보니 그에 맞는 내용들이 나온다. 그중에는 내가 이미 적용해서 사용하고 있는 12.2 재사용 가능한 워크플로 구조가 나온다. 컴포넌트가 워낙 많다보니 모든 컴포넌트에 action.yml을 작업하기 어렵다. 한 곳이 수정되면 전체를 바꿔줘야 하는 귀찮음이 있기 때문이다. 그래서 우리 팀에서는 Shared라는 폴더 내에 재사용가능하도록 액션을 작업해두고 컴포넌트에서는 해당 워크플로를 호출해서 사용하고 있다. ![]() 마지막 장인 14장 깃허브 액션으로 마이그레이션 을 많은 사람들이 참고하지 않을까 싶다. 대부분 깃허브 액션이 아닌 다른 CI/CD 구성을 진행해두었을텐데 그런 부분을 깃허브 액션으로 마이그레이션 하는 방법을 다룬다. 책에서는 다음과 같은 부분을 다루고 있다. - 애져 DevOps - Bamboo - CircleCI - GitLab - Jenkins - TravisCI 기존에 위에 적힌 CI/CD 환경을 깃허브 액션으로 옮길 수 있도록 설명해준다. 기회가 되면 진행해보는 것도 좋을것 같다. 총평깃허브에 대한 내용을 친절하게 잘 설명해주고 있는 책이다. 어렵지 않게 깃허브 액션을 접할 수 있고, 기존에 사용하는 CI/CD를 깃허브 액션으로 마이그레이션 하는 방법까지 친절하게 설명해주는 책이었다. 나에게 있어서는 깃허브 액션에 사용되는 용어를 정리할 수 있게 도와준 책이고, 부족했던 내용도 채워준 부분이 있다. 깃허브 액션을 처음 접하는 개발자가 있다면 해당 책을 통해 깃허브 액션을 접해보면 좋을 것 같다. 한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다. |
![]() 구조와 흐름이 없는 자동화 플랫폼은 그저 도구 모음일 뿐입니다. 러닝 깃허브 액션자동화 플랫폼을 효율적으로 잘 사용하려면 작업의 구조와 흐름을 잘 이해하고 있어야 한다. 깃허브 액션을 사용할 때, 풀 리퀘스트로 코드를 변경할 때마다 깃허브가 지속적으로 배포 파이프라인을 발동한다. 만약 깃허브 액션을 사용하지 않는다면, 풀 리퀘스트가 발생했다는 깃허브의 알림에 응답해서 처리할 수 있는 외부 도구가 필요할 것이다. 깃허브 액션의 가장 큰 장점은 깃허브에 내장된 기능으로 자동화를 구현할 수 있다는 점이다. 이렇게 정의한 자동화는 편리하게 생성한 워크플로를 코드와 같이 깃허브 리포지터리에 저장한다. 즉, 액션은 깃허브에 내장된 기능으로 자동화를 쉽게 구현하는 것이다. 개요는 간단하다. 일치하는 이벤트가 발생하면, 리포지토리에 저장된 워크플로 정의가 발동되고, 워크플로가 지정하는 러너라는 시스템에서 잡이 실행된다. 잡은 사전 정의된 액션을 호출하거나 러너의 OS 셀에서 명령을 실행하는 스텝으로 구성된다. ![]() ![]() CI/CD가 처음 등장했을 때는 젠킨스 등으로 파이프라인을 만들었는데, 너무 유연햇기 때문에 개별 구성 요소를 한 파이프라인으로 묶는데 많은 과정이 필요했다. 이 점이 깃허브 액션과 비교되는 점이다. 깃허브 액션은 프로세스에서 파이프라인이라는 용어를 명시적으로 사용하지는 않지만, 프레임워크의 흐름을 보면 파이프라인의 구조와 거의 흡사하다. 워크플로에는 잡이라 부르는 작은 기능 단위가 서로 연결되는데, 잡은 다른 애플리케이션에서 스테이지라고 부른다. 잡과 스테이지는 전체 자동화 프로세스 내에서 딱 집어 구분되는 개별적인 기능 하나를 수행하는 구간을 의미한다. 깃허브 마켓플레이스의 액션을 보면, 다른 사람들이 만든 유용한 액션이 있다. 사용자는 원하는 액션을 찾아서 호출만 하면 된다. 액션들은 완전한 기능을 갖춘 코드로, 사용자가 자신의 워크플로에 자유롭게 도입할 수 있어서 큰 장점을 가진다. 워크플로를 만들기 위해 액션 마켓 플레이스에서 액션을 찾는다면 직접 코딩하는 시간과 노력을 줄일 수 있다. 마켓 플레이스에서 제공하는 기능을 살펴보면 IDE와의 상호작용, 현지화, 모바일 개발, 지라(JIRA)를 위한 카테고리도 있다. 마켓 플레이스의 액션들은 깃허브가 공식적으로 만들어 올릴 때도 있으나, 다른 개인이나 조직, 회사 등 액션을 사용하는 사용자들이 직접 만들어 공유하기도 한다. 이 책에서, 깃허브 액션의 작동원리를 예시와 함께 찾아볼 수 있었고, 각각의 단계를 구현하는 방법을 배웠다. 특히, 이벤트에 반응하여 특정 잡을 실행하는 워크플로가 핵심요소인데, 워크플로보다 한 단계 다음에서는 각 잡이 자신이 맡은 스텝을 실행한다. 작동원리 이외에도, 직접 액션 마켓플레이스로 이동해서 정보를 확인하는 방법, 워크플로를 만들고, 실행하고, 성공 여부를 모니터링 하는 방법, 깃허브가 제공하는 기본 러너 시스템과 직접 구성해서 호스팅한 러너 시스템 각각의 사용법, 워크플로의 환경을 관리하는 방법, 워크플로에서 데이터를 관리하는 방법, 액션을 통해 자동화 하는 방법, 직접 커스텀 액션을 만드는 방법 등을 다양한 도구들인 깃허브, vscode, 도커 등을 사용하여 활용할 수 있도록 그림과 실제 코드가 같이 정리되어 있었다. 깃허브 활용법에 대해서만 공부하고, 깃허브 액션은 활용해볼 생각을 하지 못했는데 이 책을 천천히 따라가면서 공부하면 워크플로 자동화와 모니터링에 활용할 수 있을 것이다. "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." |