Я пытаюсь создать образ докера с моим приложением в непрерывной интеграции Gitlab, используя плагин jib Maven, но я не могу подключить плагин к демону докера с помощью службы dind (docker-in-docker). В настоящее время я использую эту конфигурацию в своем файле gitlab-ci.yml:
deploy:mvn:
image: maven:3.6.3-jdk-8-openj9
stage: deploy
services:
- docker:dind
script:
- mvn compile jib:dockerBuild
Это ошибка, которую я получаю:
[ОШИБКА] Не удалось выполнить цель com.google.cloud.tools:jib-maven-plugin:0.9.11:dockerBuild (default-cli) в проекте my-application: не удалось выполнить сборку демона Docker, возможно, вам следует убедиться, что Docker установлен и у вас есть необходимые права для его запуска -> [Справка 1]
ОБНОВЛЕНИЕ
Я обновился до 2.2.0, и он работает локально. Я уже добавил команду docker images
, и похоже, что плагин не может найти команду docker в Gitlab CI:
$ docker images && mvn compile jib: dockerBuild / bin / bash: строка 97: docker: команда не найдена
Это конфигурация плагина jib:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.2.0</version>
<configuration>
<from>
<image>adoptopenjdk/openjdk11:alpine-jre</image>
</from>
<to>
<image>my-application:latest</image>
</to>
<container>
<entrypoint>
<shell>sh</shell>
<option>-c</option>
<arg>chmod +x /entrypoint.sh && sync && /entrypoint.sh</arg>
</entrypoint>
<ports>
<port>8080</port>
</ports>
<environment>
<SPRING_OUTPUT_ANSI_ENABLED>ALWAYS</SPRING_OUTPUT_ANSI_ENABLED>
<JHIPSTER_SLEEP>0</JHIPSTER_SLEEP>
</environment>
<creationTime>USE_CURRENT_TIMESTAMP</creationTime>
</container>
</configuration>
</plugin>
script: - docker images && mvn compile jib:dockerBuild
проверить, находится ли командаdocker
в PATH. - person Chanseok Oh   schedule 17.04.2020docker
недоступна в образе. См. мой ответ ниже. - person Chanseok Oh   schedule 20.04.2020