2013-04-29 3 views
2

기존 이슈를 통해 이슈를 Artifactory에 배포하면 기존 이슈가 갖는 빌드와 연결되지 않습니다.Artifactory REST API : 배포 된 이슈와 빌드를 어떻게 다시 연결할 수 있습니까?

예를 들면 : 당신은 세 가지 유물 배포 할 젠킨스 Artifactory 플러그인을 사용하는 경우 :

example.jar 
example.pom 
example.json 

를 그 다음은 빌드 이러한 아티팩트를 연결, 새로운 빌드를 작성하고 위치와의 repo에 유물을 배포하는 것 당신이 지정했습니다. 당신이 유물 보았다 경우

당신이 빌드 탭에서 볼 수,의는이 buildName "예를 빌드"로 /libs-release-local/example/1.0/을 배치한다고 가정 해 봅시다과 buildNumber 51

이 그것을 build-info.json과 연결됩니다. 이제

,의이 같은 위치에 REST API를 사용하여 example.json 배포 가정 해 봅시다 : 이제 새 이슈가 구축 info.json와 연결되지 않은

PUT /libs-release-local/example/1.0/example.json 

을!

이슈를 배포하여 이미 기존의 build-info.json과 연결되도록하려면 어떻게해야합니까? (이 예제에서는 "/ example-build/51"빌드).

이이 문제의 모든 종류의 원인이 할 수없는 (예 : build_promotion이 완료되면 등을, 그것은 단지 이전에 관련된 유물, 그리고 아무것도 촉진 나중에 배포했습니다.)

답변

8

Artifactory 빌드로 Build Info 기술자를 연결합니다 해당 체크섬에에 기반한 이슈 아티팩트

당신이 Build Info 기술자 인 JSON을 보면, 당신은 볼 수 있습니다 :

{ 
    ... 
    "modules" : [ { 
     "id" : "org._10ne.gradle:rest-gradle-plugin:0.2.0", 
     "artifacts" : [ { 
      "type" : "pom", 
      "sha1" : "f0dcec6a603aa99f31990e20c0f314749f0e22ca", 
      "md5" : "427dcf49c07cc7be175ea31fd92da44e", 
      "name" : "rest-gradle-plugin-0.2.0.pom" 
     }, 
     .... 
    } 
} 

Build Info 설명은 본질적으로 모듈을 하나의 단위 인 "빌드"기술/생산 s의 특정 프로세스에 의해; 이 프로세스는 특정 환경에 따라 다릅니다.

원래 프로세스의 일부가 아니거나 Build Info이 설명하는 환경에 새 이슈 을 배포하고 있습니다. 그랬다면 이전 아티팩트와 똑같은 체크섬으로 생성되었을 것입니다.

기본적으로 "빌드"단위의 무결성을 손상시키는 것은 입니다.

올바른 방법은 새 빌드 프로세스를 시작하고 유효한 Build Info 설명자를 생성하는 것입니다.

+0

새 빌드를 만드는 것이 올바른 방법입니다. 감사! – David