GitLab CI 不能 Install/Use PhantomJS

GitLab CI Cannot Install/Use PhantomJS

我目前正在使用 Flask 开发一个网络应用程序,并且需要在其中一个测试中使用 PhantomJS。我将 GitLab 用于远程 git 存储库,并使用 GitLab CI 作为 CI 工具。

不幸的是,我似乎无法安装 GitLab CI 的共享 运行ner 和 运行 PhantomJS。它的输出:

Failed PhantomJS Run Screenshot

来自我的 .gitlab-ci.yml 的片段:

image: python:2.7.11

before_script:
  - ...
  - mkdir ~/tmp
  - pushd ~/tmp
  - wget https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2
  - tar xf $PHANTOM_JS.tar.bz2
  - mv $PHANTOM_JS phantomjs
  - ln -s ~/tmp/phantomjs/bin/phantomjs /usr/bin/phantomjs
  - phantomjs --version
  - popd
  - ...

$Phantom_JS指的是PhantomJS的特定版本。

有人知道解决办法吗?或者有没有其他方法可以安装和 运行 PhantomJS?

谢谢。

我在 ruby 图片 Dockerfile 中做了类似的事情,可以确认有时它只是没有下载预期的 zip 文件。

RUN cd /tmp && \
    curl -OL https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2 && \
    tar xjf phantomjs-1.9.8-linux-x86_64.tar.bz2 phantomjs-1.9.8-linux-x86_64/bin/phantomjs && \
    mv phantomjs-1.9.8-linux-x86_64/bin/phantomjs /usr/local/bin && \
    rm -r phantomjs-1.9.8-linux-x86_64*

据我所知,bitbucket URL 重定向到经过身份验证的 S3 url,有时是 404s。

我已经使用 docker run -it IMAGE /bin/bash 在本地求助于 运行 图像,并在 每个 建造。如果安装失败,我会重新构建容器。

我注意到在 运行 容器构建之前在浏览器中点击下载 URL(它将在本地下载文件)会增加成功的可能性。我很想看到 "better" 解决方案。

看来问题出在我自己身上。之前没发现 Gitlab CI 是建立在 64 位机器上的。我下载了 32 位版本,但不知何故在跑步者上不起作用。