Packaging With GitHub Action

개발者·2021년 12월 14일
0

GitHub Action

목록 보기
1/6
post-thumbnail

GitHub Action의 workflow에서 package를 생성하고 그 생성물을 GitHub Packages 나 다른 provider에서 업로드 할 수 있다.


Packaging in continuous integration workflows

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에서 디버깅 하거나 테스트 할 수 있게 만들어 준다.

Workflows for publishing pakages

CI workflow 에서 생성물을 테스트 하기 위해 업로드 하려면, 프로젝트를 빌드하고 package registry에 publish 하는 workflow를 만들 수 있다.

  • Publish packages to GitHub Packages
    GitHub Package 는 많은 타입의 패키지들의 호스트 서버로서 동작 할 수 있다. package를 모두와 공유할 수도 있고, 협업자나 조직과 공유하기 위해 privata package를 선택할 수도 있다. Introduction to GitHub Packages

GitHub Packages에 default branch에 대한 모든 push를 publish하기를 원할 수 있다. GitHub Packages로 부터 설치하면 개발자가 항상 default branch의 최신 빌드를 쉽게 실행하고 테스트 가능하게 해준다.

  • Publish packages to a package registry
    많은 프로젝트에서, 언제든지 새로운 버전이 릴리즈 되면 package registry에 publishing 하는 것은 수행된다. 예를 들어, JAR file을 생성하는 프로젝트는 새로운 릴리즈를 Maven Central repository에 업로드 할 것이다. 또는, .NET 프로젝트는 nuget package를 생성하고 이것을 NuGet Gallery 에 업로드 할 것이다.

이러한 모든 릴리즈를 package registry에 publish 하는 workflow를 생성해서 자동화 할 수 있다.
Creating releases.


reference

profile
solrasido

0개의 댓글