Skip to main content

환경 문제 해결

로컬 환경 및 GitHub Docs 준비 플랫폼의 문제 해결에 대해 알아보세요.

로컬에서 실패하지만 CI로 통과하는 테스트 문제 해결하기

테스트를 로컬로 실행하고 고정적인 자산, 스타일시트 또는 클라이언트 쪽 JavaScript 번들에 있는 tests/rendering/server.js 에서 오류가 발생하지만 동일한 테스트가 PR의 CI에서는 통과하는 경우, npm run build 명령을 실행합니다. 이것은 고정적인 자산을 로컬로 만드는 일회성 명령입니다.

자세한 내용은 "로컬 환경 만들기"을(를) 참조하세요.

중단된 스테이징 배포 문제 해결하기

스테이징 배포가 십 분 이상 보류 중인 경우, 분기를 삭제하지 않고 끌어오기 요청을 닫고 다시 열어 보세요. 그러면 새로운 스테이징 배포가 트리거됩니다. 이것은 아무 문제도 일으키지 않을 것입니다.

이 방법이 작동하지 않는 경우, 아래 명령을 사용하여 명령줄에서 빈 커밋을 푸시하여 새 스테이징 배포를 트리거합니다.

git commit --allow-empty -m 'empty commit to redeploy staging'
git push

중단되거나 중단된 CI 문제 해결하기

테스트가 한 시간 넘게 ‘진행 중’ 또는 ‘보류 중’에 멈춰 있는 경우 아래 명령을 사용하여 명령줄에서 빈 커밋을 푸시하여 CI를 다시 실행하세요.

git commit --allow-empty -m 'empty commit to rerun CI'
git push

로컬 서버 문제 해결하기

npm start을(를) 실행 중이고 Cannot find module에 오류가 발생하는 경우, 서버를 다시 시작하기 전에 다음 명령을 시도하세요.

npm install

문제가 해결되지 않으면, 다음 명령을 사용하여 node_modules 디렉터리를 제거하고 다시 설치하세요.

rm -rf node_modules
npm install

준비 문제 해결하기

준비 서버에 문제가 있다면, 사이트를 로컬에서 실행하는 경우 브라우저 또는 명령줄에서 오류에 대한 자세한 정보를 볼 수 있습니다. 로컬에서 분기를 확인하고 다음 명령을 사용하여 로컬 서버를 시작하세요.

npm start

서버가 실행 중일 때, 브라우저의 https://localhost:4000에 있는 문제가 되는 문서로 이동하세요. 준비 서버에는 "Oops" 오류만 표시되지만, 로컬 서버는 디버깅을 위한 스택 추적을 표시해야 합니다.

아래와 유사한 오류가 표시되면, 작은따옴표가 프런트 매터에서 제대로 이스케이프되었는지 확인하세요. 또한 redirect_from 블록의 서식을 검사하세요. 자세한 내용은 "YAML 프론트매터 사용"을(를) 참조하세요.

error parsing file: /Users/z/git/github/docs/content/dotcom/articles/troubleshooting-custom-domains-and-github-pages.md
(node:89324) UnhandledPromiseRejectionWarning: YAMLException: can not read a block mapping entry; a multiline key may not be an implicit key at line 4, column 14:
    redirect_from:
                 ^

"링크 검사기: On PR" 테스트는 이미지를 포함하여 사이트에서 끊어진 링크를 보고합니다. 끊어진 링크가 있는 경우, 테스트는 실패하고 테스트의 세부 정보 보기에 끊어진 링크 URL만 보고하는 TitleFromAutotitleError 오류 또는 끊어진 링크가 포함된 페이지도 나열하는 보다 설명적인 보고서가 표시됩니다.

오류에 끊어진 링크의 위치가 포함되지 않은 경우, docs 리포지토리에서 끊어진 링크를 검색하여 파일을 찾아야 합니다.

끊어진 링크를 찾으면, 링크의 버전이 올바르게 지정되었는지 확인하세요. 예를 들어 문서가 GHES 버전 3.8 이상에 대해서만 존재하는 경우, 링크의 버전이 3.8 이상으로 지정되었는지 확인하세요.

GitHub Enterprise Server에 사용할 수 있는 문서가 GitHub.com전용 문서에 연결되는 경우, 경로에 버전을 포함하여 GitHub Enterprise Server 버전 번호를 포함하게끔 URL이 자동으로 변환되는 것을 방지하세요. 다음 예시에서는 GitHub Enterprise Server 문서에서 GitHub.com전용 문서로 연결하는 방법을 보여 줍니다.

[{{ data variables.product.prodname_github_connect }} Addendum to the {{ data variables.product.prodname_enterprise }} License Agreement](/free-pro-team@latest/articles/github-connect-addendum-to-the-github-enterprise-license-agreement/)"

로컬에서 앱 디버그하기

개발 중에 http://localhost:4000의 모든 페이지를 방문하여 경로 끝에 ?json=page을(를)추가하여 디버깅에 도움이 될 수 있는 몇 가지 근본 정보를 표시할 수 있습니다. 제목 및 소개와 같은 기본 정보 외에도, 유용할 수 있는 몇 가지 필드가 있습니다.

필드설명
productVersions사이트가 productVersions 프런트 매터에서 구문 분석하는 내용을 표시하세요.
permalinks사이트에서 페이지에 대해 생성하는 모든 고유 링크를 표시하세요.
redirect_fromredirect_from 프런트 매터에서 하드 코딩된 리디렉션을 표시하세요.
redirects사이트에서 해당 페이지에 대해 생성하는 모든 리디렉션을 표시하세요.
includesPlatformSpecificContent사이트에서 페이지의 플랫폼별 콘텐츠를 검색하는지 여부를 표시하세요.

Liquid 처리로 작업하기

텍스트 또는 코드 예시에서 중괄호({과(와) }) 사이에 콘텐츠가 포함된 경우, 해당 구역에 대해 Liquid 처리를 사용하지 않도록 설정하려면 &#123% raw %}&#123% raw %} 태그 사이에 그 콘텐츠를 래핑해야 합니다. 예시:

  • 올바른 사용:

    GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
    
  • 잘못된 사용:

    GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}$