14장. GitHub 작업으로 마이그레이션하기
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
이 책 전체에서 살펴보았듯이 GitHub Actions는 자동화를 GitHub와 통합할 수 있는 강력한 플랫폼을 제공합니다. 워크플로와 액션을 사용하여 현재 다른 도구나 플랫폼에서 하고 있는 CI/CD와 같은 일반적인 유형의 작업을 수행할 수 있습니다. 다른 플랫폼을 사용 중이라면 GitHub Actions로 마이그레이션하는 것이 어렵게 느껴질 수 있습니다.
이 장에서는 선택한 CI/CD 플랫폼에서 GitHub Actions로 마이그레이션하기 위해 알아야 할 기본 사항에 대해 설명합니다. 또한 자동화를 통해 일부 작업을 수행하는 데 도움이 될 수 있는 새로운 도구인 GitHub Actions 임포터를사용하는 방법도 보여드리겠습니다.
현재 자동화 프레임워크를 대체하기 위해 GitHub 작업을 구현할 수 있지만 일부 작업은 다른 작업보다 더 많은 사용자 지정이 필요할 수 있습니다. 일반적으로 이 여섯 가지 옵션 중 하나를 사용하는 경우 마이그레이션이 더 간단합니다. 임포터 도구는 이러한 플랫폼의 파이프라인과 함께 작동하도록 특별히 설계되었습니다:
- Azure DevOps
- Bamboo(베타 버전, 참고 참조)
- CircleCI
- GitLab
- Jenkins
- 트래비스 CI
Bamboo 지원
이 장이 작성된 후 Atlassian Bamboo에 대한 지원이 추가되었으며, 이 글을 쓰는 시점을 기준으로 현재 베타 버전입니다. 이러한 이유로 여기에서 마이그레이션에 대한 자세한 내용은 여기에서 완전히 다루지 않습니다. 이에 대한 자세한 내용은 설명서를 참조하세요.
이 장에서 모든 세부 사항을 다루기에는 시간과 지면이 부족합니다. 하지만 시작하기에 충분할 정도로만 설명할 테니 각 플랫폼에 대한 자세한 내용은 GitHub Actions 문서의 위치를 참조하세요. 각 유형(Bamboo 제외)에 대해 유사점에 주목하고 차이점을 강조하는 표를 공유한 다음 간단한 예제를 살펴보겠습니다.
법적 고지
이 장의 예제 중 일부는 MIT 라이선스에 따라 GitHub 액션 임포터 페이지에서 가져온 것입니다.
준비
마이그레이션을 시작하기 전에 고려하고 계획해야 할 중요한 단계가 있습니다. 여기에는 소스 코드, 자동화, 인프라 및 사용자 검토가 포함됩니다.
소스 코드
작업 및 워크플로는 GitHub 리포지토리와 연결되어 있습니다. 따라서 자동화를 위해 액션으로 이동하기 전에 소스 코드를 GitHub 리포지토리에 저장하거나 마이그레이션해야 합니다. 이미 Git을 사용하거나 알고 있다면 이 과정은 간단합니다. 빈 리포지토리를 만들면 GitHub에서 이를 위한 명시적인 지침도 제공합니다(그림 14-1).