首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Docker构建文件中构建maven

如何在Docker构建文件中构建maven
EN

Stack Overflow用户
提问于 2020-11-04 00:06:45
回答 2查看 444关注 0票数 0

我一直在拼命地想知道是否有可能在jenkins代理上使用docker构建文件来构建mvn项目。我在运行管道时得到的错误是[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile

代码语言:javascript
复制
pipeline {
    agent {
        dockerfile { 
            filename 'DockerFile.build'
        }
    }
    environment {
        JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el8_2.x86_64"
    }
    stages {
        stage('Build DockerFile') {
            steps {
                echo "building docker image"
                sh "echo 1 | alternatives --config java"
                sh "java -version"
                sh "echo ${JAVA_HOME}"

                git branch: "develop", credentialsId: 'cred_id', url: "git@bitbucket.org:repo.git"
                dir("repo"){
                    sh "mvn clean install -X"
                }
            }
        }
    }
}

DockerFile.build

代码语言:javascript
复制
FROM centos

RUN yum update -y
RUN yum install -y java-11-openjdk-devel
RUN yum install -y java-11-openjdk

RUN yum install -y maven


ENV HOME=${home}

关于echo 1 | alternatives --config java的代码行是切换到java11。如果有任何帮助,我们将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-04 22:59:11

代码语言:javascript
复制
docker {
            image 'maven:3-alpine'
            args '-v $HOME/.m2:/root/.m2'
        }

需要挂载.m2目录。它位于缓存容器下:https://www.jenkins.io/doc/book/pipeline/docker/

票数 0
EN

Stack Overflow用户

发布于 2020-11-04 00:16:32

看起来你有一个要构建的docker构建文件,这样你就有了一个可以运行的可部署映像。然后,当您有了可以运行的映像时,您实际上想要将其拉下并运行,并将应用程序代码安装在其中。

我最近在这里回答了一个类似的问题:Dockerfile can't build app with Maven - No goals specified for this build,也许这对你有帮助?

您似乎遇到了错误,因为您试图直接在jenkins主机上进行构建,而不是在安装了maven/java11的docker容器中进行构建。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64666407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档