我正在尝试使用三角臂Maven插件在Gitlab中使用我的应用程序持续集成来构建docker映像,但是我无法使用Dind(docker-in-docker)服务将该插件连接到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
命令,插件似乎无法在Gitlab CI中找到docker命令:
$ docker images && mvn编译jib:dockerBuild / bin / bash:第97行: docker:找不到命令
这是三角帆插件的配置:
<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>