지속적 배포(Continuous deployment) 살펴보기
지속적 배포(Continuous deployment) 살펴보기
GitHub Actions로 GitHub 리포지토리에서 직접 사용자 지정 지속적 배포(CD) 워크플로를 만들 수 있어요.
본문
지속적 배포 소개
지속적 배포(Continuous deployment, CD) 는 자동화를 사용해 소프트웨어 업데이트를 게시하고 배포하는 관행이에요. 일반적인 CD 프로세스의 일부로, 코드는 배포 전에 자동으로 빌드되고 테스트돼요.
지속적 배포는 지속적 통합과 함께 자주 결합돼요. 지속적 통합에 대한 자세한 내용은 지속적 통합을 참고하세요.
GitHub Actions를 사용한 지속적 배포 소개
소프트웨어 제품을 배포하는 GitHub Actions 워크플로를 설정할 수 있어요. 제품이 예상대로 동작하는지 검증하기 위해 워크플로는 배포 전에 리포지토리의 코드를 빌드하고 테스트를 실행할 수 있어요.
CD 워크플로는 이벤트가 발생할 때(예: 새 코드가 리포지토리의 기본 분기에 푸시될 때), 설정된 일정에 따라, 수동으로, 또는 리포지토리 디스패치 웹훅을 사용해 외부 이벤트가 발생할 때 실행되도록 구성할 수 있어요. 워크플로가 실행될 수 있는 시기에 대한 자세한 내용은 워크플로를 트리거하는 이벤트를 참고하세요.
GitHub Actions는 배포를 더 잘 제어할 수 있는 기능을 제공해요. 예를 들어 환경을 사용해 작업이 진행되도록 승인을 요구하거나, 워크플로를 트리거할 수 있는 분기를 제한하거나, 비밀 접근을 제한할 수 있어요. 동시성을 사용해 CD 파이프라인을 최대 하나의 진행 중인 배포로 제한할 수 있어요. 이 기능들에 대한 자세한 내용은 GitHub Actions로 배포하기와 배포용 환경 관리하기를 참고하세요.
[!TIP] 릴리스 노트, 변경 분석, 롤아웃 요약 같은 배포 준비에는 에이전틱 워크플로를 사용하고, 프로덕션 배포는 결정적인 GitHub Actions 워크플로에 유지할 수 있어요. 자세한 내용은 GitHub Agentic Workflows 만들기를 참고하세요.
워크플로 템플릿과 서드 파티 액션
GitHub은 Azure Web App 같은 여러 인기 서비스에 대한 배포 워크플로 템플릿을 제공해요. 워크플로 템플릿 사용을 시작하는 방법은 워크플로 템플릿 사용하기를 참고하거나 배포 워크플로 템플릿 전체 목록을 찾아보세요. Node.js를 Azure App Service에 배포하기 같은 특정 배포 워크플로에 대한 더 자세한 가이드도 확인할 수 있어요.
많은 서비스 제공자도 자신의 서비스에 배포하기 위한 액션을 GitHub Marketplace에서 제공해요. 전체 목록은 GitHub Marketplace를 참고하세요.
다음 단계
GitHub Actions 워크플로가 OpenID Connect(OIDC)를 지원하는 클라우드 제공자의 리소스에 접근해야 한다면 클라우드 제공자에 직접 인증하도록 워크플로를 구성할 수 있어요. 이렇게 하면 이 자격 증명을 장기 보존 비밀로 저장하는 것을 중단하고 다른 보안 이점도 얻을 수 있어요. 자세한 내용은 OpenID Connect를 참고하세요.