關於使用 docker 打包 maven 項目


不要使用 docker:maven 鏡像作為基礎鏡像構建 Dockerfile 。

如果非要使用的話,需要將 settings.xml 等文件手動添加到 /usr/share/maven/ref/repository 目錄下,再執行構建(因為 docker:maven 鏡像默認設定本地倉庫為 /usr/share/maven/ref/repository)。

FROM maven:3.6.0-jdk-8-alpine
COPY settings.xml /usr/share/maven/ref/

鏡像構建完畢,開始啟動容器。將 自動執行腳本 mvn-entrypoint.sh,用於將 /usr/share/maven/ref/repository 中的內容重新掛載到 .m2 目錄下。

如果需要將 jar包打包成 docker 鏡像,可以直接使用 docker-maven-plugin 插件,無需手動編寫上述 DockerFile 文件。構建完成后,將構建后的鏡像推送到鏡像倉庫中。

除此之外,我們可以直接使用 docker:maven鏡像啟動一個容器,在該容器中執行 package 操作。這里可以掛載本地文件中的 .m2 到容器中的 /root/.m2。比如:

pipeline {
  agent {
    docker {
      image 'maven:3-alpine'
      args '-v $HOME/.m2:/root/.m2'
    }

  }
  stages {
    stage('Build') {
      steps {
        sh 'mvn -B -DskipTests clean package'
      }
    }

  }
}

 

233


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM