- 작업이 특정 아티팩트를 검색하지 않음
- 작업 아티팩트가 너무 많은 디스크 공간을 사용함
- 오류 메시지
업로드할 파일 없음
- 오류 메시지
Missing /usr/bin/gitlab-runner-helper. Uploading artifacts is disabled.
- Windows 러너에서 dotenv 아티팩트를 업로드할 때
FATAL: invalid argument
오류 메시지 - 작업 아티팩트가 만료되지 않음
-
오류 메시지
이 작업을 시작할 수 없습니다. 필요한 아티팩트를 검색할 수 없습니다.
- 업그레이드 후 작업이
UnlockPipelinesInQueueWorker
를 표시함
작업 아티팩트 문제 해결
작업 아티팩트와 작업할 때 다음과 같은 문제에 직면할 수 있습니다.
작업이 특정 아티팩트를 검색하지 않음
기본적으로 작업은 이전 단계에서 모든 아티팩트를 가져오지만, dependencies
또는 needs
를 사용하는 작업은 기본적으로 모든 작업에서 아티팩트를 가져오지 않습니다.
이러한 키워드를 사용하는 경우 아티팩트는 일부 작업에서만 가져옵니다. 이러한 키워드로 아티팩트를 가져오는 방법에 대한 정보는 키워드 참조를 검토하세요:
작업 아티팩트가 너무 많은 디스크 공간을 사용함
작업 아티팩트가 너무 많은 디스크 공간을 사용하는 경우,
작업 아티팩트 관리 문서를 참조하세요.
오류 메시지 업로드할 파일 없음
이 메시지는 러너가 업로드할 파일을 찾을 수 없을 때 작업 로그에 나타납니다. 파일 경로가 잘못되었거나 파일이 생성되지 않았을 수 있습니다. 파일 이름 및 생성되지 않은 이유를 명확히 하는 다른 오류 또는 경고를 확인하려면 작업 로그를 확인할 수 있습니다.
더 상세한 작업 로그를 보려면 CI/CD 디버그 로깅을 활성화하고 다시 작업을 시도하세요. 이 로깅은 파일이 생성되지 않은 이유에 대한 더 많은 정보를 제공할 수 있습니다.
오류 메시지 Missing /usr/bin/gitlab-runner-helper. Uploading artifacts is disabled.
- GitLab 15.2에서 도입됨, GitLab Runner는 이 문제를 해결하기 위해
DEBUG
대신RUNNER_DEBUG
를 사용합니다.
GitLab 15.1 및 이전 버전에서는 DEBUG
라는 CI/CD 변수를 설정하면 아티팩트 업로드가 실패할 수 있습니다.
이 문제를 해결하려면 다음을 수행할 수 있습니다:
- GitLab 및 GitLab Runner 15.2로 업데이트
- 다른 변수 이름 사용
-
script
명령에서 환경 변수로 설정:failing_test_job: # 이 작업은 gitlab-org/gitlab-runner#3068로 인해 실패할 수 있음 variables: DEBUG: true script: bin/mycommand artifacts: paths: - bin/results successful_test_job: # 이 작업은 `DEBUG`라는 CI/CD 변수를 정의하지 않으며, 문제의 영향을 받지 않음 script: DEBUG=true bin/mycommand artifacts: paths: - bin/results
Windows 러너에서 dotenv 아티팩트를 업로드할 때 FATAL: invalid argument
오류 메시지
PowerShell echo
명령은 UCS-2 LE BOM(바이트 순서 표시) 인코딩으로 파일을 작성하지만, UTF-8만 지원됩니다. echo
로 dotenv
아티팩트를 생성하려고 하면 FATAL: invalid argument
오류가 발생합니다.
대신 PowerShell Add-Content
를 사용하세요. 이는 UTF-8을 사용합니다:
test-job:
stage: test
tags:
- windows
script:
- echo "test job"
- Add-Content -Path build.env -Value "MY_ENV_VAR=true"
artifacts:
reports:
dotenv: build.env
작업 아티팩트가 만료되지 않음
일부 작업 아티팩트가 예상대로 만료되지 않는 경우, 가장 최근 성공적인 작업에서 아티팩트 유지 설정이 활성화되어 있는지 확인하세요.
이 설정이 활성화되면 각 참조의 최신 성공적인 파이프라인에서 작업 아티팩트가 만료되지 않고 삭제되지 않습니다.
오류 메시지 이 작업을 시작할 수 없습니다. 필요한 아티팩트를 검색할 수 없습니다.
작업이 시작되지 않고 이 오류 메시지가 반환되면, 예상하는 아티팩트를 가져올 수 없음을 의미합니다. 이 오류는 다음과 같은 경우에 발생합니다:
- 작업의 의존성을 찾을 수 없습니다. 기본적으로, 이후 단계의 작업은 모든 이전 단계의 작업에서 아티팩트를 가져오므로, 이전 작업이 모두 의존하는 것으로 간주됩니다.
작업이
dependencies
키워드를 사용하는 경우, 나열된 작업만 의존합니다. - 아티팩트가 이미 만료되었습니다.
artifacts:expire_in
으로 더 긴 만료 시간을 설정할 수 있습니다. - 작업이 적절한 리소스에 접근할 수 없습니다. 권한이 부족한 경우입니다.
작업이 needs:artifacts
키워드를 사용할 경우 추가 문제 해결 단계를 참조하세요:
needs:project
로 구성된 작업의 경우
필요한 아티팩트를 검색할 수 없습니다.
오류는 다음과 같은 구성으로
needs:project
를 사용하는 작업에서 발생할 수 있습니다:
rspec:
needs:
- project: my-group/my-project
job: dependency-job
ref: master
artifacts: true
이 오류를 문제 해결하려면 다음 사항을 확인하세요:
- 프로젝트
my-group/my-project
가 Premium 구독 플랜의 그룹에 있는지 확인합니다. - 작업을 실행하는 사용자가
my-group/my-project
의 리소스에 접근할 수 있는지 확인합니다. -
project
,job
, 및ref
조합이 존재하고 원하는 의존성을 결과로 생성하는지 확인합니다. - 사용 중인 변수들이 올바른 값으로 평가되는지 확인합니다.
needs:pipeline:job
로 구성된 작업의 경우
필요한 아티팩트를 검색할 수 없습니다.
오류는 다음과 같은 구성으로
needs:pipeline:job
를 사용하는 작업에서 발생할 수 있습니다:
rspec:
needs:
- pipeline: $UPSTREAM_PIPELINE_ID
job: dependency-job
artifacts: true
이 오류를 문제 해결하려면 다음 사항을 확인하세요:
-
$UPSTREAM_PIPELINE_ID
CI/CD 변수가 현재 파이프라인의 부모-자식 파이프라인 계층에 있는지 확인합니다. -
pipeline
및job
조합이 존재하고 기존 파이프라인으로 해결되는지 확인합니다. -
dependency-job
이 실행되고 성공적으로 완료되었는지 확인합니다.
업그레이드 후 작업이 UnlockPipelinesInQueueWorker
를 표시함
작업이 정지되고 UnlockPipelinesInQueueWorker
라는 오류가 표시될 수 있습니다.
이 문제는 업그레이드 후 발생합니다.
우회 방법은 ci_unlock_pipelines_extra_low
기능 플래그를 활성화하는 것입니다.
기능 플래그를 전환하려면 관리자인지 확인해야 합니다.
GitLab SaaS에서:
-
다음 ChatOps 명령어를 실행하세요:
/chatops run feature set ci_unlock_pipelines_extra_low true
GitLab 자체 관리에서:
-
ci_unlock_pipelines_extra_low
라는 기능 플래그를 활성화하세요.
자세한 내용은 병합 요청 140318에서 확인하세요.