이 페이지는 Bamboo가 Artifact 공유와 GlobalStorage 관리하는 방법을 설명한다.

Shared/Unshared artifacts 정의

Build Plan은 동일한 build plan, 다른 build plan, 그리고 build plan에 연결된 deployment에서 사용가능한 artiffact를 정의할 수 있다.

빌드가 성공하면 정의된 artifact가 공유된 공간으로 복사되고, database에 등록된다.


Shared Artifacts 위치

<bamboo home>/artifacts/plan-<build plan id>/shared/build-<build number>

GlobalStorage

globalStorage 는 배포에서 사용된 artifact를 보관하는 저장 공간으로 <bamboo-home>/artifacts/<artifact id> 에 위치한다.

Artifact 생성 조건 (아래의 두 조건이 모두 만족되는 경우, artifact/shared → globalStorage 폴더로 이동):

SQL

globalStorage 내의 artifact 목록 얻기

빌드 번호와 globalStorage에 보관된 artifact 간의 관계 목록:

SQL 결과를 바탕으로 파일의 위치를 얻을 수 있다.

ARTIFACT_ID

BUILD_KEY

BUILD_NUMBER

SHARED

Directory structure

8585219

PROJ-PLAN

3

true

<bamboo-home>/artifacts/globalStorage/8585219/

사용중인 globalStorage 목록 얻기

Deployment에서 사용중인 globalStorage 내의 artifact 목록을 얻을 수 있다.

SELECT DP.Name as DeploymentProject, DE.name as Environment, version_name, A.plan_key as ArtifactSourceBuildPlan,
       A.build_number as ArtifactSourceBuildNumber, A.artifact_id, a.artifact_size, a.globally_stored, a.link_type
FROM ARTIFACT A 
   JOIN DEPLOYMENT_VERSION_ITEM_BA DVIB ON A.ARTIFACT_ID = DVIB.ARTIFACT_ID
   JOIN DEPLOYMENT_VERSION_ITEM DVI ON DVIB.VERSION_BAM_ARTIFACT_ITEM_ID = DVI.DEPLOYMENT_VERSION_ITEM_ID
   JOIN DEPLOYMENT_VERSION DV ON DVI.DEPLOYMENT_VERSION_ID = DV.DEPLOYMENT_VERSION_ID
   JOIN DEPLOYMENT_PROJECT DP ON DV.PROJECT_ID = DP.DEPLOYMENT_PROJECT_ID
   JOIN DEPLOYMENT_RESULT DR ON DV.DEPLOYMENT_VERSION_ID = DR.VERSION_ID
   JOIN DEPLOYMENT_ENVIRONMENT DE ON DE.ENVIRONMENT_ID = DR.ENVIRONMENT_ID
WHERE GLOBALLY_STORED IS TRUE
ORDER BY ARTIFACT_SIZE, ARTIFACT_ID