我有一个 Docker 镜像,它执行 Gradle 构建,需要一个 Gradle 插件。
在我的 Dockerfile 中,我想预安装 Gradle 插件,这样当我在容器中运行我的 Gradle 任务时,它就不必在每次我有新容器时都下拉所有 Jar。
我该怎么做?
插件是 bmuschko/gradle-docker-plugin
没有办法预安装 gradle 插件,但更重要的是,没有必要在 docker 内部或外部这样做。您需要做的就是将插件添加到构建的buildscript
部分,如插件 GitHub 页面上所述:https://github.com/bmuschko/gradle-docker-plugin
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.bmuschko:gradle-docker-plugin:X.Y.Z'
}
}
如果您的意思是您无法从容器内访问jcenter
并且希望将其静态包含在 docker 映像中,只需在 docker 映像构建步骤中按照maven
目录结构将 jar 添加到映像中的任何位置,并在上面的存储库中从jcenter
更改为maven { url "file:///reporoot/" }
其中/reporoot
是容器中"存储库"的根:
buildscript {
repositories {
maven { url "file:///reporoot/" }
}
dependencies {
classpath 'com.bmuschko:gradle-docker-plugin:X.Y.Z'
}
}