github 프로젝트에서 바이너리를 배포하는 가장 좋은 방법은 무엇입니까?
github 프로젝트에서 바이너리를 배포하는 가장 좋은 방법은 무엇입니까?
다음을 생각할 수 있습니다.
- 바이너리 사본을 보관하는 프로젝트에 bin 폴더를 만듭니다. 그러나 github는 바이너리가 아닌 소스 코드를 저장하기위한 것입니다. 크고 정기적으로 변경되는 바이너리를 저장하는 것은 디스크 공간과 대역폭의 비용이 많이들 수 있습니까?
- 바이너리 사본을 프로젝트 의 github 페이지 에 업로드 하거나 바이너리 호스팅을 위해 별도의 웹 사이트를 사용하십시오. 그러나 이것이 항상 가능한 것은 아니며 바이너리를 최신 상태로 유지하기 위해 더 많은 (수작업) 작업이 필요하며, 바이너리가 자동으로 또는 단일 작업으로 업데이트되기를 원합니다.
2012 년 12 월 11 일부터 GitHub 의 다운로드 기능은 더 이상 사용되지 않습니다 . 대용량 바이너리 배포 문서에서는 외부 서비스 사용을 권장합니다.
CDN 또는 SourceForge 와 같은 기타 서비스를 통해 제공하기 위해 CloudFront 와 페어링 된 스토리지 용 Amazon S3 를 권장 합니다.
그러나 2013 년 7 월 2 일부터 이제 릴리스를 정의 할 수 있습니다 .
최종 사용자에게 소프트웨어를 제공하기위한 워크 플로우 인 릴리스 .
릴리스는 Git 아티팩트를 넘어서 전체 프로젝트 기록을 제공하는 변경 로그 및 바이너리 자산이있는 최고급 개체입니다. 저장소의 홈페이지에서 액세스 할 수 있습니다.
- 릴리스에는 릴리스 정보 및 소프트웨어 또는 소스 코드를 다운로드 할 수있는 링크가 함께 제공됩니다.
- 많은 Git 프로젝트의 규칙에 따라 릴리스는 Git 태그에 연결됩니다. 기존 태그를 사용하거나 게시 될 때 릴리스에서 태그를 생성하도록 할 수 있습니다.
- 바이너리 자산 (예 : 컴파일 된 실행 파일, 축소 된 스크립트, 문서)을 릴리스에 첨부 할 수도 있습니다 . 게시 된 후에는 저장소를 볼 수있는 모든 사람이 릴리스 세부 정보 및 자산을 사용할 수 있습니다.
이제 github 프로젝트 자체에 바이너리를 저장 하지 않는 것이 중요하다는 것이 분명 합니다. 따라서 바이너리를 다른 곳에 저장해야합니다. 내가 찾은 가능한 해결책은 다음과 같습니다.
- 바이너리를 별도의 하위 모듈에 저장하십시오 ( dalores idea ). github 를 통해 프로젝트 웹 사이트를 호스팅하는 데 사용하는 프로젝트 github 페이지 에 저장하는 것이 좋습니다.
- 바이너리 또는 zip 파일이 몇 개만있는 경우 다운로드-> 새 파일 업로드를 통해 github에 업로드 할 수 있습니다. 이 기능은 매우 제한적이지만 구조화 된 폴더에 파일을 넣을 수 없습니다.
- Java jar 파일의 경우 라이브러리 관리를위한 Nexus 와 같은 솔루션이 있습니다 .
- 직접 호스팅하는 완전히 별도의 사이트에 바이너리를 저장합니다.
어떤 종류의 바이너리? 바이너리는 어느 시점에서 소스에서 왔을 것입니다.
따라서 해당 바이너리를 빌드하는 소스를 git의 하위 모듈로 추가하십시오. 그런 다음 빌드 프로세스에서 소스를 빌드하기 전에 먼저 해당 바이너리를 빌드하십시오. 하위 모듈은 작동하는 것으로 알고있는 특정 버전의 소스와 동기화 된 상태로 유지됩니다. 또한 소스가 있으므로 디버그를 더 쉽게 할 수 있다는 이점도 있습니다.
바이너리가 이미지 등이 아닌 한 저장하십시오.
공간이 문제인 경우 무제한 공간이 있으므로 bitbucket을 사용하십시오.
'Development Tip' 카테고리의 다른 글
Java를 네이티브 코드로 컴파일 할 수 있습니까? (0) | 2020.11.05 |
---|---|
.vimrc에서`set nocompatible`은 완전히 쓸모가 없습니까? (0) | 2020.11.05 |
"이벤트 이미 터"란 무엇입니까? (0) | 2020.11.05 |
PHP의 연결 풀링 (0) | 2020.11.05 |
ListPreference : 항목 값으로 문자열 배열을 사용하고 항목 값이 작동하지 않으므로 정수 배열을 사용합니다. (0) | 2020.11.05 |