2017-09-22 18 views
4

새 버전의 상자를 신중하게 출시하여 사용자가 먼저 테스트 할 수있는 기회를 제공하고 싶습니다. 어떻게하면 crates.io를 "베타"로 릴리스 할 수 있습니까? (npm에 @next 태그 릴리스가있는 방식과 유사).제한된 공개 테스트를 위해 상자의 베타 버전을 릴리스하는 방법은 무엇입니까?

큰 변화가 아니기 때문에, 나는 세미 - 메이저 버전을 늘리지 않을 것입니다. 베타 테스트 기간이 끝날 때까지 사용자가 cargo upgrade 할 때 자동으로 선택되기를 원하지 않습니다.

  • 릴리스에는 어떤 버전 구문을 사용해야합니까?

  • 방출 할 때 특별한화물 옵션을 사용해야합니까?

  • 사용자가 cargo/Cargo.toml을 사용하여 베타 버전을 선택하는 방법은 무엇입니까?

답변

8

Semantic versioningpre-release version의 개념을 정의

시험판 버전 하이픈 분리 식별자 즉시 패치 버전 다음 도트의 시리즈를 추가로 표시 할 수있다. 식별자는 ASCII 영숫자와 하이픈 [0-9A-Za-z-] 만 포함해야합니다. 식별자는 반드시 비워 두어서는 안됩니다. 숫자 식별자는 선행 0을 포함해서는 안됩니다 (MUST NOT). 시험판 버전은 관련 표준 버전보다 우선 순위가 낮습니다. 시험판 버전은 해당 버전이 불안정하며 관련 정상 버전으로 표시된 의도 된 호환성 요구 사항을 충족하지 못할 수 있음을 나타냅니다. 예 : 1.0.0-alpha, 1.0.0-alpha1, 1.0.0-0.3.7, 1.0.0-x.7.z.92

화물을 사용하려면화물 상자를 게시하십시오. 예정된 버전 번호를 추가하고 출시 전 식별자를 추가하십시오.

[dependencies] 
library = "0.1.1-beta" 

: 특별히 버전 요구 사항에 beta를 넣어 그것으로 선택해야

[package] 
name = "library" 
version = "0.1.1-beta.0" 

이를 사용하려면 : 나는 당신이 두 번째가 필요한 경우 쉽게 증가 할 수 -beta.0 제안

테스트하려면 I :

  1. 로컬 crates.io 서버를 스핀 업
  2. 이진 프로젝트에 library = "0.1.0"을 사용하는 버전 0.1.0
  3. 와 함께 상자 라이브러리 업로드 응용 프로그램는 - 그것은 버전 0.1.1 - beta.0와 함께 상자 라이브러리 업로드 0.1.0
  4. 에 해결
  5. cargo update - 이 아닙니다.
  6. 응용 프로그램library = "0.1.1-beta"로 변경, cargo update를 실행 - 버전을 변화를했다. 변경 한 버전 -
  7. 응용 프로그램cargo update을 실행
  8. 버전 0.1.1 - beta.1와 함께 상자 라이브러리 업로드.
+0

환상적인 답변입니다. 고맙습니다. – Kornel