Сервер Дженкинс с локальным докером - PullRequest
0 голосов
/ 07 января 2019

У меня проблема с моей реализацией CI ...

У меня установлен сервер Jenkins и я создал конвейер сборки. (Это из этого урока: https://getintodevops.com/blog/building-your-first-docker-image-with-jenkins-2-guide-for-developers)

Вот часть моего Jenkinsfile:

stage('Build image') {
    app = docker.build("username/tag")
}

Поэтому, когда я бегу, я получаю следующую ошибку:

Touch Version 5.0 Copyright (c) 1995-2010 Embarcadero Technologies, Inc.
+ docker build -t username/tag .
Touch Version 5.0 Copyright (c) 1995-2010 Embarcadero Technologies, Inc.
Touch Version 5.0 Copyright (c) 1995-2010 Embarcadero Technologies, Inc.
Touch Version 5.0 Copyright (c) 1995-2010 Embarcadero Technologies, Inc.
error during connect: Post 
: open //./pipe/docker_engine: Das System kann die angegebene Datei nicht finden. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

Затем я проверил эту команду:

stage('Build image') {
        sh 'eval $(docker-machine env default)'  
        app = docker.build("username/tag")
    }

А потом я получаю этот вывод:

Error checking TLS Connection: Host is not running

Когда я бегу

stage('Build image') {
        sh 'docker-machine ls'
        app = docker.build("username/tag")
    }

я получаю следующий вывод:

NAME      ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER    ERRORS
default   -        virtualbox   Stopped                 Unknown 

Но когда я запускаю 'docker-machine ls' на своей локальной консоли, я получаю следующий вывод:

NAME      ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER    ERRORS
default   *        virtualbox   Running                 v18.09.0

Так что я не знаю, как сказать моему серверу Jenkins об использовании локальной установки докера ..

Я уже два дня ищу решения и не знаю, как его решить: /

Я использую Docker ToolBox в системе Windows 7. Дженкинс установлен локально. НЕ в док-контейнере.

Может кто-нибудь сказать мне, что я делаю не так?

1 Ответ

0 голосов
/ 08 января 2019

Я нашел решение:

Мне пришлось добавить переменные окружения в jenkins:

  • DOCKER_CERT_PATH
  • DOCKER_HOST
  • DOCKER_MACHINE
  • DOCKER_TLS_VERIFY
...