변수 라이브러리는 한 작업 공간에서만 올바른 값을 하드코딩하는 대신, 환경별로 다른 값을 제공할 수 있게 해줍니다. Fabric이 변수 참조를 받아들이는 경우, 그 참조를 값으로 해석한 후 사용한다.
Fabric이 참조를 해석하지 못하면 값을 대체하지 않습니다. 대신 참조의 어느 부분이 실패했는지 나타내는 해결 상태를 보고합니다. 이 글에서는 각 상태와 이에 대해 어떻게 대응해야 하는지 설명합니다.
참조가 어떻게 해결되는지는
참조 해석은 단계별로 이루어지며, 어느 단계에서든 실패하면 나머지는 중단됩니다. Fabric은 다음과 같은 기능을 수행합니다:
- 참고문헌을 읽고 잘 작성되었는지 확인합니다.
- 변수 라이브러리에서 참조 이름을 찾아서 읽을 수 있는지 확인합니다.
- 라이브러리의 활성 값 집합을 찾습니다.
- 그 값 집합 내에서 변수를 찾습니다.
- 변수의 값 유형이 참조가 요구하는 유형과 일치하는지 확인합니다.
- 값이 다른 항목이나 연결점을 가리키면 그 세부 사항도 해결됩니다.
상태가 어떤 단계가 실패했는지 알려주며, 보통 전체 체인을 점검하지 않고도 수리 원인을 파악하기에 충분합니다.
참조 해상도 오류
이 오류들은 참조 자체, 변수 라이브러리, 또는 변수가 해결되지 않았다는 뜻입니다.
| Message | 의미 | 문제를 해결하는 방법 |
|---|---|---|
| 참조 형식이 유효하지 않습니다 | 참고문헌이 제대로 형식화되어 있지 않습니다. | 참조 문법을 수정하세요. |
| 변수 라이브러리 참조가 누락되었습니다 | 참조에는 변수 라이브러리 이름이 명시되어 있지 않습니다. | 도서관을 포함한 완전한 참고 자료를 제공하세요. |
| 변수 라이브러리 참조는 모호하다 | 참조와 일치하는 변수 라이브러리가 하나 이상입니다. | 참고문헌을 더 구체적으로 만들어서 한 라이브러리와 일치하게 하세요. |
| 타입 명세는 허용되지 않습니다 | 참조는 인라인 타입을 지정하지만, 이 참조는 이를 지원하지 않습니다. | 인라인 형식 지정을 제거하세요. |
| 변수 라이브러리를 찾을 수 없습니다 | 도서관은 존재하지 않거나, 당신이 읽을 권한이 없어요. | 참고 자료를 확인하고, 도서관 이용 권한도 확인하세요. |
| 변수 라이브러리가 손상되었습니다 | 도서관은 읽을 수 없어. | 이건 셀프 서비스가 아니야. 계속될 경우 지원 팀에 문의하세요. |
| 활성 값 집합을 찾을 수 없습니다 | 라이브러리의 설정된 활성 값 세트는 존재하지 않습니다. | 라이브러리에 존재하는 활성 값 세트를 설정하세요. |
| 변수 정의는 유효하지 않습니다 | 라이브러리 내 하나 이상의 변수 정의는 유효하지 않습니다. | 라이브러리에서 변수 정의를 수정하세요. |
| 변수 오버라이드는 유효하지 않습니다 | 하나 이상의 오버라이드 값은 유효하지 않습니다. | 오버라이드 값을 수정하세요. |
| 변수를 찾을 수 없음 | 라이브러리는 해결되었지만, 그 이름을 가진 변수는 없습니다. | 변수 이름을 확인하세요. 변수 이름이 바뀌는 것은 흔한 원인입니다. |
| 변수 유형 불일치 | 변수의 값 유형은 참조가 요구하는 유형이 아닙니다. | 요청된 타입이나 변수의 값을 변경하세요. |
이들 중 하나 대신 일반적인 Couldn't resolve reference 메시지가 표시되면, 해당 실패는 특정 단계의 문제로 볼 수 없습니다. 다시 시도하고 문제가 계속된다면 참조 문제가 아니라 서비스 측 오류로 간주하세요.
참조된 항목 오류
이 오류들은 참조가 어떤 값으로 해결되었지만, 값이 가리키는 항목이나 연결은 해결되지 못했다는 의미입니다. 참조가 올바르므로 참조가 아니라 대상을 수정하세요.
| Message | 의미 | 문제를 해결하는 방법 |
|---|---|---|
| 참고 항목 찾지 못함 | 가치가 가리키는 아이템은 존재하지 않습니다. | 아이템이 여전히 존재하는지, 그리고 가치가 올바른 곳을 가리키는지 확인하세요. |
| 참조된 항목에 대한 접근 거부 | 아이템은 존재하지만, 읽기 권한은 없습니다. | 항목에 대한 읽기 권한을 요청하세요. |
| 참조된 연결 연결 불가 또는 접근 거부 | 연결고리가 존재하지 않거나, 읽을 수 없는 것이죠. | 연결 상태와 접근 권한을 확인하세요. |
| 문제가 발생했습니다. | 언급된 항목은 해결되지 않았고, 원인도 구체적이지 않습니다. | 다시 시도하십시오. 문제가 계속된다면 서비스 측 오류로 처리하세요. |
Considerations
이 중 몇 가지는 미리 알아두면 좋습니다:
- 권한 실패와 누락된 객체도 경우에 따라 같은 방식으로 보고됩니다. "변수 라이브러리를 찾을 수 없음"과 "참조된 연결을 찾지 못하거나 접근 거부됨"은 존재하지 않는 객체와 볼 수 없는 객체를 가리키는데, Fabric은 읽을 수 없는 존재를 확인하지 않기 때문입니다. 물체가 사라졌다고 결론 내리기 전에 접근 권한을 확인하세요.
- 당신에게는 확인되는 참조가 다른 사람에게는 확인되지 않을 수 있습니다. 참조 확인은 이를 트리거하는 주체의 권한에 따라 달라지므로, 작성 중에는 작동하던 참조도 나중에 다른 사용자 계정이 동일한 작업을 실행하면 실패할 수 있습니다.
- 변수 이름을 바꾸면 참조가 끊깁니다. 참조는 이름별로 작성되므로, 이름 변경 시 경고가 아니라 변수 찾지 않음 으로 표시됩니다.