2017-04-13 7 views
1

ウェブサイトGitLabページのアップロード中にエラーのトラブルシューティングや調査を行う方法は?

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

終わりしかし、次のメッセージを表示して、私は私のページのジョブを実行し、それが通過するには、提供されていないよう。すべてのビルドステップはエラーなしで成功しました。私は自分のマシン上でローカルにビルドを試み、正しいことを確認しました。ウェブサイトのエントリーポイントは index.htmlです(私はそれが正しいと思いますか?)。

この問題のトラブルシューティングを行うにはどうすればよいですか?私が "手動で"仕事をすることができればうれしいことですので、ファイルがCIマシン上に構築された後にいくつか確認できます。私がコミットする必要はない+新しいものをチェック/試してみるために常に新しい.gitlab-ci.ymlを押してください。

どのような提案も高く評価されています。ありがとう!

P .:私が重要なのは、スフィンクスを使用してウェブサイトを構築することです。

編集 - いくつかの詳細

私は(私のドキュメントのソースの一部である)SphinxのMakefileを経由してドキュメントを構築します。スフィンクスはファイルがbuild/html(私はローカルマシンでこれを確認した)に配置されていることを確認し、それらをパブリックフォルダにコピーします。

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

私はそのような場合のために、私はそれをスキャンしてきましたし、破損していないようにも(面白いかもしれSphinxのconf.pyからどのような情報を知らない:ここに私のci.yamlの対応抜粋ですローカルビルドが動作します)。

index.htmlと、index.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

作成されたものをブラウズ/ダウンロードして、作成されたものを見ることができます。 ;)あなたのリポジトリへのリンクは、私たちがあなたを助けるのを助けるでしょう:) –

答えて

1

this documentationthis tutorial GitLabページによると、唯一のプロジェクトのディレクトリ内を常駐publicという名前のフォルダを検討します。つまり、HTMLコンテンツは~/publicの代わりに~/projectname/publicになるはずです。

+0

ドッカーのイメージの '〜/ public'は、実際には'/root/public':]ですので 'public /'ディレクトリに最初のレベル。 – Ehvince

0

私はこの問題によって食べられたと思います。実際には~/publicのdockerイメージでは、rootとして接続されています... /root/public :)であり、gitlabページで期待されるものではありません。

あなたはアーティファクトが `public`フォルダ内の場所ですが、そのフォルダが存在しないということを告げているように見えます

mv build/html public 
関連する問題