push-изображение dockerfile-maven-plugin в реестре gitlab-ci - PullRequest
0 голосов
/ 09 июня 2018

Я использую dockerfile-maven-plugin от spotify:

<plugin>
  <groupId>com.spotify</groupId>
  <artifactId>dockerfile-maven-plugin</artifactId>
  <version>1.4.0</version>
  <configuration<repository>${docker.registry}/${project.parent.artifactId}/${project.artifactId}</repository>
     <buildArgs>
       <JAR_FILE>target/${project.build.finalName}-exec.jar</JAR_FILE>
     </buildArgs>
   </configuration>
   <executions>
     <execution>
       <id>build</id>
       <phase>package</phase>
       <goals>
         <goal>build</goal>
       </goals>
     </execution>
     <execution>
        <id>push</id>
        <phase>install</phase>
        <goals>
          <goal>push</goal>
        </goals>
     </execution>
   </executions>
</plugin>

Локально, он работает отлично.Конфигурация по умолчанию использует локальный реестр:

<docker.registry>localhost:5000</docker.registry>

На gitlab-ci, чтобы протолкнуть образ, я использую следующее

mvn install -Ddocker.registry=registry.gitlab.com/jeromevdl \
-Ddockerfile.username=gitlab-ci-token \
-Ddockerfile.password=$CI_BUILD_TOKEN

Я не совсем уверен насчет реестра,имя пользователя и пароль, но я нашел это в документации и нескольких примерах.

У меня есть следующая ошибка:

[ERROR] Failed to execute goal com.spotify:dockerfile-maven-plugin:1.4.0:push (push) on project connection-lookup: 
**Could not push image: denied: requested access to the resource is denied** -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.spotify:dockerfile-maven-plugin:1.4.0:push (push) on project connection-lookup: Could not push image
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.maven.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:39)
    at org.apache.maven.wrapper.WrapperExecutor.execute(WrapperExecutor.java:122)
    at org.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:50)

**Caused by: org.apache.maven.plugin.MojoExecutionException: Could not push image**
    at com.spotify.plugin.dockerfile.PushMojo.execute(PushMojo.java:90)
    at com.spotify.plugin.dockerfile.AbstractDockerMojo.tryExecute(AbstractDockerMojo.java:246)
    at com.spotify.plugin.dockerfile.AbstractDockerMojo.execute(AbstractDockerMojo.java:235)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    ... 27 more

**Caused by: com.spotify.docker.client.exceptions.DockerException: denied: requested access to the resource is denied**
    at com.spotify.plugin.dockerfile.LoggingProgressHandler.handleError(LoggingProgressHandler.java:105)
    at com.spotify.plugin.dockerfile.LoggingProgressHandler.progress(LoggingProgressHandler.java:63)
    at com.spotify.docker.client.ProgressStream.tail(ProgressStream.java:74)
    at com.spotify.docker.client.DefaultDockerClient.push(DefaultDockerClient.java:1309)
    at com.spotify.docker.client.DefaultDockerClient.push(DefaultDockerClient.java:1289)
    at com.spotify.plugin.dockerfile.PushMojo.execute(PushMojo.java:88)
    ... 31 more

Любая идея о конфигурации, которую я должен использовать на gitlab?

...