2016-09-21 38 views

回答

6

共享參賽者的等效機構現在可以構建Docker鏡像。這裏是你可以使用作業:

stages: 
    - build 
    - test 
    - deploy 

# ... 
# other jobs here 
# ... 

docker:image: 
    stage: deploy 
    image: docker:1.11 
    services: 
    - docker:dind 
    script: 
    - docker version 
    - docker build -t $CI_REGISTRY_IMAGE:latest . 
    # push only for tags 
    - "[[ -z $CI_BUILD_TAG ]] && exit 0" 
    - docker tag $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$CI_BUILD_TAG 
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY 
    - docker push $CI_REGISTRY_IMAGE:$CI_BUILD_TAG 

此作業假設您正在使用由Gitlab提供的集裝箱登記。只有在構建提交使用版本號進行標記時,纔會推送圖像。

  • Predefined variables的文檔。

  • 請注意,您將需要緩存或生成臨時構件,以便爲您的服務提供任何未在存儲庫中提交的依賴項。這應該是在其他工作中完成的。例如node_modules通常不包含在存儲庫中,並且必須從build/test階段緩存。

+0

「共享的跑步者現在能夠構建Docker鏡像」 - 我假設你是指GitLab.com上的那些人?你如何爲Docker Build設置安全的共享GitLab Runner設置?另見https://gitlab.com/gitlab-org/gitlab-ce/issues/31379 – bbodenmiller

相關問題