首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用gitlab ci社区版的docker

启用gitlab ci社区版的docker
EN

Stack Overflow用户
提问于 2016-08-05 04:14:22
回答 2查看 783关注 0票数 2

我在为构建作业启用docker时遇到了困难。下面是gitlab ci配置文件的样子:

代码语言:javascript
复制
image: docker:latest

services:
  - docker:dind

stages:
  - build

build:
  image: java:8
  stage: build
  script:
    - docker info
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com/...
    - sbt server/docker:publish

以下是job的输出:

代码语言:javascript
复制
gitlab-ci-multi-runner 1.3.2 (0323456)
Using Docker executor with image java:8 ...
Pulling docker image docker:dind ...
Starting service docker:dind ...
Waiting for services to be up and running...
Pulling docker image java:8 ...
Running on runner-30dcea4b-project-1408237-concurrent-0 via runner-30dcea4b-machine-1470340415-c2bbfc45-digital-ocean-4gb...
Cloning repository...
Cloning into '/builds/.../...'...
Checking out 9ba87ff0 as master...
$ docker info
/bin/bash: line 42: docker: command not found

ERROR: Build failed: exit code 1    

有线索说明为什么找不到docker吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-05 05:18:27

docker info命令在基于java:8的容器中运行,该容器中不会安装/提供docker。

票数 1
EN

Stack Overflow用户

发布于 2016-08-08 00:53:37

经过几天的努力,我想出了以下设置:

代码语言:javascript
复制
image: gitlab/dind

stages:
  - test
  - build

before_script:
 - echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections
 - apt-get update
 - apt-get install -y curl
 - apt-get install -y software-properties-common python-software-properties
 - add-apt-repository -y ppa:webupd8team/java
 - apt-get update
 - apt-get install -y oracle-java8-installer
 - rm -rf /var/lib/apt/lists/*
 - rm -rf /var/cache/oracle-jdk8-installer
 - apt-get update -yqq
 - apt-get install apt-transport-https -yqq
 - echo "deb http://dl.bintray.com/sbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list
 - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 642AC823
 - apt-get update -yqq
 - apt-get install sbt -yqq
 - sbt sbt-version

test:
  stage: test
  script:
    - sbt scalastyle && sbt test:scalastyle
    - sbt clean coverage test coverageReport

build:
  stage: build
  script:
    - docker info
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com/...
    - sbt server/docker:publish

它有docker (mind gitlab/dind image),java和sbt。现在我可以从sbt docker插件推送到gitlab注册表。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38776660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档