2017-09-15 2 views
1

Gitlab-CI를 사용하여 단계 사이에 build 디렉토리를 구문 분석하는 데 문제가 있습니다.gitlab-ci 러너에서 만료 시간이 다른 여러 경로

Gitlab-CI는 이상하게 보이는 스테이지간에 생성 된 빌드 아티팩트를 지 웁니다. 빌드와 테스트 단계 사이에 빌드 아티팩트를 저장하려고하지만 빌드 단계에는 유지하려는 빌드 아티팩트가 있고 다음 단계를 실행하는 데 필요한 빌드 아티팩트도 있습니다.

artifacts 옵션을 사용하면 경로가 다른 여러 개의 만료 시간을 가질 수 있습니까?

다음은 처음으로 paths (.dmg)이 선언되지 않은 paths (빌드/테스트 * 경로)의 두 번째 정의 만 유지하는 방법입니다.

artifacts: 
    paths: 
    - build/*.dmg 
    expire_in: 1 week 
    paths: 
    - build/test1 
    - build/test2 
    - build/test3 
    expire_in: 15 mins 

내가 그러나 일하는 것을 얻을 수가 없습니다 caches를 사용하여 시도 ... 어떤 제안이 큰 감사하겠습니다!

답변

2

문서에 따르면 불가능한 것처럼 보이지만 다음과 비슷한 방법으로 비슷한 작업을 수행해야했습니다.

모든 아티팩트를 생성하는 빌드의 단계에서 나는 다른 만기가 있어야하는 아티팩트를 포함하여 모든 아티팩트에 대해 15 분의 만료 기간을 설정했습니다. 귀하의 경우 build/*.dmg. 따라서 빌드 섹션에 대한 내 유물 정의는 다음과 같습니다.

artifacts: 
    paths: 
    - build/*.dmg 
    - build/test1 
    - build/test2 
    - build/test3 
    expire_in: 15 mins 

그런 다음 파이프 라인의 다음 단계에서 두 가지 작업을 정의했습니다. 이 작업을 수행하면 두 작업이 동시에 실행됩니다. 작업 중 하나는 원래 파일 용으로 의도 한 작업을 수행합니다 (build/test1, build/test2build/test3). 파이프 라인의이 단계에서 다른 작업은 실질적으로 스크립트 섹션에 아무것도 없어야합니다 (예 : echo "dummy job").

artifacts: 
    paths: 
    - build/*.dmg 
    expire_in: 1 week 

그것을 : 더미 작업이 이전 작업에서 빌드 아티팩트를 받기 때문에 그러나 우리는 단순히 때문에 같은 동일한 파일에 두 번째 유물을 만들어 일주일에 15 분에서 exoiry '변화'에 사용할 수 있습니다 우리는 15 분의 만료일과 1 주일의 만료일을 가지므로 대상 아티팩트를 복제하기 때문에 좋지 않은 해결 방법입니다.

+0

답변 해 주셔서 감사합니다. 더 많은 정보를 캡슐에 넣을 수있는 기회가 있습니까? 따라서 첫 번째 작업은 더미 단계를 만들고 빌드를 수행하는 작업은 아티팩트 만 가지고 있습니다. – Rekovni

+1

나는 나 자신을 더 잘 설명하려고 노력했다. 나는 더 일관성이 있고, 영어가 제 2의 언어 인 나에게 희망이있다. –

+0

아, 지금 나는 고차를 맞았다. :) – Rekovni

관련 문제