Skip to main content

GitHub Actions를 사용한 패키징 정보

GitHub Actions에서 워크플로를 설정하여 패키지를 생성하고 GitHub Packages 또는 다른 패키지 호스팅 공급자에 업로드할 수 있습니다.

연속 통합 워크플로의 패키징

패키징 단계는 연속 통합 또는 지속적인 업데이트 워크플로의 일반적인 부분입니다. 연속 통합 워크플로가 끝날 때 패키지를 만들면 끌어오기 요청에 대한 코드 검토 중에 도움이 될 수 있습니다.

코드를 빌드하고 테스트한 후 패키징 단계에서 실행 가능하거나 배포 가능한 아티팩트를 생성합니다. 빌드하는 애플리케이션의 종류에 따라 이 패키지를 수동 테스트를 위해 로컬로 다운로드하거나 사용자가 다운로드할 수 있도록 하거나 스테이징 또는 프로덕션 환경에 배포할 수 있습니다.

예를 들어 Java 프로젝트의 연속 통합 워크플로는 mvn package를 실행하여 JAR 파일을 생성할 수 있습니다. 또는 Node.js 애플리케이션에 대한 CI 워크플로가 Docker 컨테이너를 만들 수 있습니다.

이제 끌어오기 요청을 검토할 때 워크플로 실행을 확인하고 생성된 아티팩트 다운로드할 수 있습니다.

워크플로 실행의 "아티팩트" 섹션 스크린샷. 실행에서 생성된 아티팩트 이름인 "아티팩트"가 진한 주황색 윤곽선으로 강조 표시됩니다.

이렇게 하면 머신의 끌어오기 요청에서 코드를 실행할 수 있으며, 이는 끌어오기 요청을 디버그하거나 테스트하는 데 도움이 될 수 있습니다.

패키지를 게시하기 위한 워크플로

연속 통합 워크플로에서 테스트를 위해 패키징 아티팩트를 업로드하는 것 외에도 프로젝트를 빌드하고 패키지 레지스트리에 패키지를 게시하는 워크플로를 만들 수 있습니다.

  • GitHub Packages에 패키지 게시 GitHub Packages는 다양한 형식의 패키지의 패키지 호스팅 서비스 역할을 할 수 있습니다. 모든 GitHub와 패키지를 공유하거나 협력자 또는 조직과 공유할 프라이빗 패키지와 공유하도록 선택할 수 있습니다. 자세한 내용은 "GitHub 패키지 소개"을 참조하세요.

    기본 분기에 푸시할 때마다 패키지를 GitHub Packages에 게시할 수 있습니다. 이렇게 하면 프로젝트의 개발자가 GitHub Packages에서 최신 빌드를 설치하여 기본 분기에서 항상 쉽게 실행하고 테스트할 수 있습니다.

  • 패키지 레지스트리에 패키지 게시 많은 프로젝트의 경우 새 버전의 프로젝트가 릴리스될 때마다 패키지 레지스트리에 게시됩니다. 예를 들어 JAR 파일을 생성하는 프로젝트는 Maven 중앙 리포지토리에 새 릴리스를 업로드할 수 있습니다. 또는 .NET 프로젝트에서 nuget 패키지를 생성하여 NuGet 갤러리에 업로드할 수 있습니다.

    릴리스를 만들 때마다 패키지를 패키지 레지스트리에 게시하는 워크플로를 만들어 이를 자동화할 수 있습니다. 자세한 내용은 "리포지토리에서 릴리스 관리"을 참조하세요.

추가 참고 자료