为什么docker登录挂在Travis CI上?

时间:2016-01-15 08:58:40

标签: docker travis-ci

我有一个.travis.yml使用Trusty Beta VMs试图推送到Docker中心。相关部分是:

sudo: required
dist: trusty

language: cpp

compiler:
    - gcc

services:
    - docker

env:
    global:
        - secure: "i...=" # DOCKER_EMAIL
        - secure: "Z...=" # DOCKER_USER
        - secure: "p...=" # DOCKER_PASSWORD

<snip>

after_success:
    - docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
    - make docker-r-deliver

日志给了我:

<snip>

Setting environment variables from .travis.yml
$ export DOCKER_EMAIL=[secure]
$ export DOCKER_USER=[secure]
$ export DOCKER_PASSWORD=[secure]

<snip>

$ docker login -e $DOCKER_EMAIL -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
Password: 
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
The build has been terminated

此处存在类似问题:https://github.com/travis-ci/travis-ci/issues/5387。但我认为不是这样 - 我的密码不包含特殊字符。我在docker login中尝试了before_install - 同样的问题,除了奇怪的是,它提示输入用户名。

修改

docker login -e foo@example.com -u fooo -p barty没有挂起(给出预期的Error response from daemon: Wrong login/password, please try again),暗示了env vars的内容。

修改

嗯,这很令人尴尬,我设置DOCKER_USER但尝试使用DOCKER_USERNAME!那就行了!

2 个答案:

答案 0 :(得分:1)

您是否尝试过TravisCI documentation中提供的确切语法?

  

docker login -e="$DOCKER_EMAIL" -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"

答案 1 :(得分:1)

我的坏!根据编辑,我设置DOCKER_USER但尝试使用DOCKER_USERNAME