로컬에서 실패하지만 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 Docs의 다른 버전으로 연결되는 경우 경로에 버전을 포함하면 URL이 GitHub Enterprise Server 버전 번호를 포함하도록 자동 변환되지 않도록 방지할 수 있습니다. 다음 예시에서는 GitHub Enterprise Server 문서에서 Free, Pro, & Team 버전의 문서로 연결하는 방법을 보여 줍니다.
[{{ 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_from | redirect_from 프런트 매터에서 하드 코딩된 리디렉션을 표시하세요. |
redirects | 사이트에서 해당 페이지에 대해 생성하는 모든 리디렉션을 표시하세요. |
includesPlatformSpecificContent | 사이트에서 페이지의 플랫폼별 콘텐츠를 검색하는지 여부를 표시하세요. |
Liquid 처리로 작업하기
텍스트 또는 코드 예시에서 중괄호({
과(와) }
) 사이에 콘텐츠가 포함된 경우, 해당 구역에 대해 Liquid 처리를 사용하지 않도록 설정하려면 {% raw %}
과 {% raw %}
태그 사이에 그 콘텐츠를 래핑해야 합니다. 예시:
-
올바른 사용:
GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
-
잘못된 사용:
GITHUB_TOKEN: $${{ secrets.GITHUB_TOKEN }}$