2017-01-06 56 views
1

CI测试搞得我想让我的应用程序的屏幕截图在使用特定的亚军(其个人电脑上工作,它不是“共享亚军”)CI测试的屏幕截图。如何访问特定的gitlab亚军

它是一种基本的码头工人亚军。 我试图通过builds_dir到完整路径/home/myuser/mybuilds的runner配置,但成功测试后,该文件夹为空。 (看来其相对打造,而不是Linux的路径)

很可能要采取的截图,但路径似乎是相对的:

app.browserWindow.capturePage().then(function (imageBuffer) { 
      fs.writeFile('/home/myuser/mybuilds/page-full-path.png', imageBuffer) 
     }) 

因此,如何在泊坞窗构建之后访问生成文件夹?

编辑
我可以用artifacts这样的:

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-ci.yml

mytest 
    script: 
    - mytests 
    artifacts: 
    paths: 
    -testimages 

,然后从gitlab.com下载图像,但是有无需转到gitlab.com就可以更快速或本地查看的方法?

回答

1

如果它在您的服务器上,那么您可以添加如下内容: -v /some/local/path:/data/screenshots:rw 到您的docker run命令。它会将服务器上的mount本地目录绑定到容器中的/ data/screenshots。然后你保存的所有东西都会出现在本地目录中。

+0

问题是我找不到包含gitlab-runner构建的本地路径。有任何想法吗? – Mike

+1

使用'docker diff '列出自启动它以来在容器中更改的所有内容。建立后,你应该在那里看到你的结果。当您使用代理容器时,默认情况下所有结果都会在该容器中。你需要“提取”他们的主机。恕我直言,最简单的方法是从主机绑定安装目录。输出更新问题:'docker diff | grep testimages'和'docker run'命令,用于启动构建容器。然后我将能够提供确切的答案。 – odk

0

如果你不想添加量,你可以使用docker cp复制文件:

docker cp <containerId>:/data/screenshots /local/path 

你可以找到你docker ps容器ID。