2017-04-13 1 views
1

나는 내 페이지 작업을 실행하고 최종 웹 사이트가 제공되지 않는 나타납니다GitLab 페이지 업로드 중 오류를 해결하는 방법은 무엇입니까?

Uploading artifacts... 
WARNING: public: no matching files 
Uploading artifacts to coordinator... ok 
Job succeeded 

에서 그러나 다음과 같은 메시지와 함께 전달합니다. 모든 빌드 단계가 오류없이 성공했습니다. 내 컴퓨터에서 로컬로 빌드를 시도하고 올바른지 확인했습니다. 웹 사이트의 진입 점은 index.html입니다 (맞습니까?).

이 문제를 어떻게 해결할 수 있습니까? "수동으로"작업을 수행하면 CI 시스템에서 파일을 빌드 한 후 몇 가지 사항을 확인할 수 있으면 좋을 것입니다. 그런 식으로 체크/시도를 위해 항상 새로운 .gitlab-ci.yml을 푸시하지 않아도됩니다.

모든 의견을 보내 주시면 감사하겠습니다. 감사!

피씨 : 중요하다면 스핑크스를 사용하여 웹 사이트를 구축합니다.

편집 - 일부 세부 사항은

나는 (내 문서의 소스의 일부입니다) 스핑크스 '메이크를 통해 문서를 구축 할 수 있습니다. 스핑크스는 그 파일들이 build/html (내 로컬 컴퓨터에서 이것을 확인했다)에 위치했음을 확인하고 공용 폴더로 복사합니다.

- make html 
- mkdir ~/.public 
- cp -r build/html/* ~/.public/ 
- cd 
- mv .public public 

내가 그 경우에, 나는 그것을 통해 스캔 한하고 손상하지 않는 것 또한 (재미있을 수 스핑크스 'conf.py에서 어떤 정보를 알고하지 않습니다 여기 내 ci.yaml의 해당 발췌 로컬 빌드 작동).

출력으로 index.htmlindex.html에서 링크 된 다른 여러 HTML 파일을 얻을 수 있습니다. 이것은 모두 ~/public에 배치됩니다.

빌드 파일을 직접 살펴보고 잘못된 것을 파악할 수 있으므로 빌드 서버에서 직접 빌드 단계를 수행 할 수있게되어서 고맙겠습니다. 나는 이것이 가능하다는 어떠한 문서도 찾지 못했지만 그것이 정말로 CI 뒤에있는 생각이라고 생각지 않습니다. 지금 당장은 내 컴퓨터에서 정상적으로 빌드되고 다른 서버에서 직접 빌드 서버에 액세스 할 수 없으므로이 문제를 어떻게 해결해야하는지 잘 모르겠습니다.

편집 2

나는 나의 ci.yaml 파일에

ls -al ~/public 

으로 생성 된 파일을 확인하고 올바른 장소에서 모두. 특히 :

$ ls -al ~/public 
[...] 
-rw-r--r--. 1 root root 5621 Apr 13 23:31 index.html 
[...] 

그래서 GitLab 페이지 index.html에 추가/뭔가 이상 다른 뭔가를 기대하는 것 같다 ?? 나는 그들의 예제 페이지 저장소에서 Jekyll 예제를 실행했으며 이것은 index.html을 갖는 정상적으로 작동했다. 하지만 Jekyll은 빌드 과정에서 파일을 더 많이 생성합니다.

+0

시도해야합니다. 당신의'.gitlab-ci.yml'과 Sphinx를위한 설정 파일이 없다면 그 이상을 말할 수 없습니다. – fredrik

+0

@fredrik 질문에 몇 가지 세부 사항을 추가했습니다. 나는 파일이'public' 폴더에 정확하게 위치한다는 것을 거의 확신하지만 빌드 머신에 직접 접근 할 수 없기 때문에 그것을 확인할 수 없다. 그러나 나는 그것이 CI의 목적이라고 생각합니다. 수동으로 이러한 단계를 수행하고 빌드 파일을 살펴 보는 방법이 있는지 확실하지 않습니다. –

+0

빌드 된 항목을 찾아보고 다운로드 할 수 있으므로 빌드 된 항목을 볼 수 있습니다. ;) 당신의 repo에 대한 링크는 우리가 당신을 도울 수 있도록 도와 줄 것입니다 : –

답변

1

this documentationthis tutorial GitLab 페이지에 따르면 단지 프로젝트의 디렉토리 내부 상주 public라는 폴더를 고려할 것입니다. 즉, HTML 콘텐츠는 ~/public 대신 ~/projectname/public으로 이동해야합니다.

+0

'~/public'이라는 도커 이미지에서, 실제로는'/ root/public' :]이므로'public /'디렉토리에 첫 번째 수준. – Ehvince

0

이 문제로 인해 먹어 버린 것 같습니다. 실제로 ~/public은 docker 이미지에서 루트로 연결되어 있습니다 ... /root/public :)이며 gitlab 페이지에서 기대하는 것은 아닙니다.

당신은 당신이 유물은`public` 폴더에 장소가된다는 사실을 말했지만, 해당 폴더가 존재하지 않는 것 같습니다

mv build/html public