GitHub Action의 workflow에서 package를 생성하고 그 생성물을 GitHub Packages 나 다른 provider에서 업로드 할 수 있다.
pakaging 단계는 CI/CD workflow에서 공통된 부분이다. package를 CI 끝단에서 생성하는 것은 pull request(이하 pr)를 리뷰하는 동안 도움이 될 수 있다.
코드를 빌드하고 테스트 한 후, packaging 단계는 실행 가능하거나 배포 가능한 생성물을 만들 수 있다. 이렇게 생성된 것은 로컬에서 수동 테스트 하거나, 유저가 다운로드 하거나, 혹은 staging 이나 production 환경에 배포되게 할 수 있다.
예를 들어, JAVA를 위한 CI workflow 는 mvn package
를 실행해서 JAR file 을 만들 것 이다. 또는, Node.js 어플리케이션을 위한 CI workflow는 Docker container를 만들 수 있다.
아래, pr을 리뷰할 때, 실행되고 다운로드 될 생성물을 볼 수 있다.
이러한 생성물이 pr의 code를 machine에서 디버깅 하거나 테스트 할 수 있게 만들어 준다.
CI workflow 에서 생성물을 테스트 하기 위해 업로드 하려면, 프로젝트를 빌드하고 package registry에 publish 하는 workflow를 만들 수 있다.
GitHub Packages에 default branch에 대한 모든 push를 publish하기를 원할 수 있다. GitHub Packages로 부터 설치하면 개발자가 항상 default branch의 최신 빌드를 쉽게 실행하고 테스트 가능하게 해준다.
이러한 모든 릴리즈를 package registry에 publish 하는 workflow를 생성해서 자동화 할 수 있다.
Creating releases.