Transmode / gradle-docker

A Gradle plugin to build Docker images from the build script.
Apache License 2.0
647 stars 142 forks source link

Require docker login when push=true #137

Open benfortuna opened 6 years ago

benfortuna commented 6 years ago

It appears you need to run docker login prior to pushing to hub.docker.com.

Would it be possible to integrate this in the plugin? Currently push will fail with following error:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':buildDocker'.
> Docker execution failed
  Command line [docker push image/example:1.0] returned:
  denied: requested access to the resource is denied

Task configuration is like this:

docker {
    baseImage "image/base:1"
}

task buildDocker(type: Docker) {
    applicationName = 'image/example'
    tagVersion = '1.0'
    push true
    apiUsername = username
    apiPassword = password
    apiEmail = email@example.com
}

I haven't tried with useApi=true as yet as that was giving a different error.

bjornmagnusson commented 6 years ago

Does it work if you perform docker login before running your build?

benfortuna commented 6 years ago

Yes, can confirm if I run docker login first the push will be successful.

However if it can be integrated into the plugin it would save some trouble configuring automated builds.

bjornmagnusson commented 6 years ago

If you can provide an proposal on how to fix this, I would be prepared to take a look at it. Contributions are very welcome

jamesdube commented 5 years ago

I'd be willing to help too bad I don't know much about developing gradle plugins, if I could get pointers I would try