2016-02-27 46 views
2

使用文件circle.yml构建泊坞窗图像时我试图传递一个环境变量$CIRCLE_PROJECT_USERNAME,以便该文件的项目特定性较低。不幸的是码头工人建立与标签参数-t失败:如何将环境变量设置为构建中的泊坞窗图像名称

docker build -t CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:$CIRCLE_BRANCH . returned exit code 1 

repository name component must match "[a-z0-9]+(?:[._-][a-z0-9]+)*" Action failed: docker build -t CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:$CIRCLE_BRANCH . 

Circle.yml文件:

machine: 
    environment: 
    services: 
    - docker 

dependencies: 
    override: 
    - docker info 
    - docker build -t CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:$CIRCLE_BRANCH . 

test: 
    override: 
    - docker run -d $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:$CIRCLE_BRANCH 

deployment: 
    hub: 
    branch: master 
    commands: 
     - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASSWORD 
     - docker push $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:$CIRCLE_BRANCH 

deployment: 
    hub: 
    branch: develop 
    commands: 
     - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASSWORD 
     - docker push $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME:$CIRCLE_BRANCH 

回答

3

应该工作,检查ENV实际上设定,只包含允许的字符:

[a-z0-9]+(?:[._-][a-z0-9]+)* 

编辑:

docker build -t CIRCLE_PROJECT_USERNAME ... 

可能是在这里错过了$? ;)

+0

构建可以找到[这里](https://circleci.com/gh/ncrmro/meatier/2) 我有和没有$ 这是目前我printenv 尝试 CIRCLE_PROJECT_USERNAME = ncrmro – ncrmro

+2

是的,你错过了'$',尝试'码头建设-t $ CIRCLE_PROJECT_USERNAME/$ CIRCLE_PROJECT_REPONAME:$ CIRCLE_BRANCH' –

+2

@ErikDannenberg我同意。 +1 – VonC