이슈 저장소 란 무엇입니까?


답변:


32

개발하는 동안 상당한 양의 다른 인공물을 생성합니다. 여기에는 다음이 포함될 수 있습니다.

  • 소스 코드
  • 컴파일 된 응용 프로그램
  • 배포 가능한 패키지
  • 선적 서류 비치

그리고 잠재적으로 다른 사람들도

소스 제어 시스템을 사용하여 모든 것을 저장할 수는 있지만 소스 제어 시스템은 일반적으로 이진 파일이 아닌 텍스트 기반 파일을 처리하도록 설계되어 있기 때문에 대개 비효율적입니다. 대부분의 릴리스가 텍스트 기반이고 많은 이진 데이터를 저장할 필요가없는 경우이를 간단한 저장 메커니즘으로 사용할 수 있습니다.

그러나 아티팩트 리포지토리는 이진 파일을 포함하여 모든 종류의 파일을 저장하도록 설계되었습니다. 여기에는 압축 된 소스 코드, 결과 빌드, 도커 이미지와 같은 것들이 포함됩니다. 또한 일반적으로 이러한 아티팩트를 저장할뿐만 아니라 다양한 추가 기능 (예 :

  • 버전 관리 지원 : 각 아티팩트가 빌드 된시기, 버전 번호, 해시 저장 등과 같은 일부 메타 데이터를 올바르게 저장합니다.
  • 보존 : 중요한 아티팩트 만 유지하고 설정할 수있는 다양한 기준에 따라 스냅 샷 만 있거나 더 이상 필요하지 않은 아티팩트를 자동으로 삭제하십시오.
  • 액세스 제어 : 게시 할 수있는 사람과 다양한 아티팩트를 다운로드 할 수있는 사람 설정
  • 프로모션 : 아티팩트를 홍보하는 기능. 예를 들어 코더 근처의 서버에서 보존 기간이 짧은 스냅 샷 아티팩트와 배치 가능한 것으로 간주되는 아티팩트 만 나타나는 라이브 서버 근처에 별도의 저장소가있을 수 있습니다. 여기에는 다양한 버전 채널에 대한 지원과 채널간에 아티팩트 이동 (예 : 베타에서 안정 버전으로 특정 버전 승격)이 포함됩니다.
  • 아티팩트의 기본 저장소로 작동하십시오. 메이븐, 루비 젬, 도커 등의 메인 리포지토리로 사용할 수 있음을 의미합니다. 여기에는 공식 리포지토리의 아티팩트 캐싱도 포함될 수 있습니다.

Versionning 지원에 'channel'기능을 추가 할 가치가 있으며, "develop"채널의 최신 릴리스를 대상으로하는 머신과 "stable"채널의 특정 버전을 대상으로하는 prod 머신을 사용할 수 있습니다.
Tensibai

@ Pierre.Vriens는 몇 가지 작은 주석을 추가,하지만 어쩌면 그것은뿐만 아니라 별도의 질문에서 해결 될 수있다
SztupY

메르,하지만 단지의 경우, 여기에 추가로 주소로 기회입니다 내 추가 의견 ...
Pierre.Vriens

이러한 종류의 리포지토리에서 구성 파일 또는 픽스처도 추적하는 것이 합리적입니까?
tutuca

7

저장소 관리자 및 범용 패키지 저장소 관리자 (UPM)가 있습니다.

UPM은 Jenkins, teamcity 등에 대한 모든 빌드 아티팩트를 저장할 수 있으며 일반적으로 Maven, npm, NuGet 등의 여러 유형의 이진 아티팩트에 대한 저장소 관리자 역할을 할 수 있습니다.

이것들은 Jfrog Artifactory , Inedo ProGetSonatype Nexus 와 같은 도구 입니다.

꽤 괜찮은 비교가 여기 있습니다 : https://binary-repositories-comparison.github.io/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.