特定のランナーを使用してCIテストで自分のアプリケーションのスクリーンショットを作りたいと思います。特定のgitlabランナーのCIテストで作成されたスクリーンショットにアクセスする方法
基本的なドッカーランナーです。 builds_dir
をフルパス/home/myuser/mybuilds
のランナー設定に渡そうとしましたが、テストが成功した後は、このフォルダは空です。
のスクリーンショットは、おそらく取られるされているが、パスが相対的であるように見える。:
app.browserWindow.capturePage().then(function (imageBuffer) {
fs.writeFile('/home/myuser/mybuilds/page-full-path.png', imageBuffer)
})
ドッキングウィンドウにビルド後のビルドフォルダにアクセスするには、どのように(Linuxのパスではありません、構築するためにその相対的と思われます) ? gitlab-ci.yml
mytest
script:
- mytests
artifacts:
paths:
-testimages
で
app.browserWindow.capturePage().then(function (imageBuffer) {
console.log("This test path");
console.log(path.join(__dirname));
var mypath = path.join(__dirname, '../..', 'testimgages', "test.png");
fs.writeFile(mypath, imageBuffer)
})
し、その後、その後gitlab.comからイメージをダウンロードしますがあります:私はこのようなartifacts
を使用することができ
EDIT
gitlab.comに行かなくても、より速く、ローカルで視聴できる方法?
問題は、gitlab-runnerビルドを含むローカルパスが見つかりません。何か案は? – Mike
'docker diff'を使用して、コンテナを起動してからコンテナ内で変更されたすべてのものを表示します。ビルドしたら、そこに結果が表示されます。エージェントコンテナを使用すると、デフォルトですべての結果がそのコンテナに格納されます。それらをホストに「抽出」する必要があります。 IMHOの最も単純な方法は、ホストからのbindマウントdirです。 'docker diff の出力で質問を更新してください。ビルドコンテナの起動に使用するgrep testimages'と 'docker run'コマンドです。それから私は正確な答えを提供することができます。 –
odk