我有一个执行Gradle构建的Docker镜像,需要一个Gradle插件。
在我的Dockerfile中,我想预装Gradle插件,这样当我在容器中运行Gradle任务时,不必每次有新容器时都将所有Jars下拉。
我怎样才能做到这一点?
该插件是bmuschko / gradle-docker-plugin
最佳答案
无法预安装gradle插件,但更重要的是,无需在docker内部或外部进行安装。您所需要做的就是按照插件GitHub页面上的描述将插件添加到构建的buildscript
部分:https://github.com/bmuschko/gradle-docker-plugin
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.bmuschko:gradle-docker-plugin:X.Y.Z'
}
}
如果您表示无法从容器中访问
jcenter
,并且希望将其静态包含在docker镜像中,则只需在maven
目录结构之后的docker镜像构建步骤中将jar添加到镜像中的任意位置,然后在上面的内容中进行更改从jcenter
到maven { url "file:///reporoot/" }
的存储库,其中/reporoot
是容器内“存储库”的根目录:buildscript {
repositories {
maven { url "file:///reporoot/" }
}
dependencies {
classpath 'com.bmuschko:gradle-docker-plugin:X.Y.Z'
}
}
关于docker - 在Docker镜像中预安装Gradle插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50279673/