Java Jenkins管道:在docker容器中构建docker
我试着做以下几点Java Jenkins管道:在docker容器中构建docker,java,spring-boot,docker,maven,jenkins,Java,Spring Boot,Docker,Maven,Jenkins,我试着做以下几点 签出代码 使用其他docker映像进行一些预检查(不想在Jenkins节点上安装这些映像) 使用docker镜像构建jarmaven:3.6-jdk-8 然后运行Dockerfile构建应用程序映像 将映像推送到存储库 现在,除了Docker,我不想在Jenkins节点上安装任何东西。我想在Docker容器中运行完整的管道来实现这一点。我正在努力的是如何从容器中构建第四步 我写了Jenkins文件如下 pipeline { agent none st
maven:3.6-jdk-8
Dockerfile
构建应用程序映像pipeline {
agent none
stages {
stage('Maven build') {
agent {
docker {
image 'maven:3.6-jdk-8'
args '-u root:root'
}
}
steps {
checkout(
[
$class: 'GitSCM',
branches: [
[name: '*/master']
],
doGenerateSubmoduleConfigurations: false,
extensions: [],
submoduleCfg: [],
userRemoteConfigs: [
[
credentialsId: '<cred-id>',
url: '<github-url>']
]
])
sh '''
set -eux pipefail
mvn -e clean install
'''
}
}
stage('Build docker image') {
// Which docker image to use?
}
}
}
管道{
一号特工
舞台{
阶段(“Maven构建”){
代理人{
码头工人{
图片“maven:3.6-jdk-8”
args'-u根:根'
}
}
台阶{
结帐(
[
$class:'GitSCM',
分支机构:[
[名称:'*/master']
],
DoGenerateSubModuleConfiguration:false,
扩展:[],
子模块cfg:[],
userRemoteConfigs:[
[
凭证ID:“”,
url:'']
]
])
“嘘”
设置-eux管道失败
mvn-e清洁安装
'''
}
}
阶段('构建docker映像'){
//要使用哪个docker图像?
}
}
}
但我不知道如何在容器中构建docker映像。搜索没有起到多大作用。我尝试使用Jenkins节点来构建docker图像,但似乎无法混合匹配。我完全理解这是一个相当开放的问题,但我认为知道直截了当的答案会很有帮助。看看这个Jenkins插件: