Jenkins教程(五)構建Java服務Docker鏡像


本文主旨

主要記錄下如何使用Jenkins構建Java服務的Docker鏡像,以及手動部署測試下

前期准備

  • 已安裝Jenkins
  • 為jenkins用戶添加到docker組內
  • 本地裝有maven,配置或使用/etc/profile定義maven的家目錄,全局生效

正文

新建個chapter3流水線工程

添加Jenkinsfile的git配置,這里使用的是https://github.com/hellxz/JenkinsfileTutorials.git的chapter3分支

Jenkinsfile內容如下

pipeline {
    agent any
    stages {
        stage('Pull Git Demo') {
            steps{
                //清理工作空間
                cleanWs();
                //拉取代碼
                checkout([$class: 'GitSCM', branches: [[name: '*/docker-maven-plugin-2']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'demo']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/hellxz/SpringBoot-DockerDemo.git']]])
            }
        }
        stage('Build') { 
            steps {
                dir('demo') { //切換目錄到demo
                    //執行構建鏡像命令,這里起作用的是maven的插件
                    //可以參考https://github.com/hellxz/SpringBoot-DockerDemo.git的使用方法,在docker-maven-plugin-2分支
                    sh 'mvn clean package docker:build -DskipTests'  
                }
            }
        }
    }
    post { //這里定義的是后置處理
        success {
            // 構建成功
            echo '構建完成,正在清理工作空間'
            cleanWs();
            echo '清理工作空間完成'
        }
        failure {
            // 構建失敗,這里使用sh是因為echo不支持使用參數
            sh 'echo "構建失敗,詳情請查看$WORKSPACE"'
        }
        aborted {
            // 構建被中止
            echo '構建被中止'
        }
    }
}

這里直接使用了jenkins本地的maven

另外,檢出代碼使用的是流水線語法生成的,這里使用的是https://github.com/hellxz/SpringBoot-DockerDemo.git 中的docker-maven-plugin-2分支

圖片看不清右鍵新標簽頁查看

保存,立即構建

測試

docker images

這里在pom.xml中定義了兩個tag

啟動下試試看

$ docker run -d --name=test -p 8080:8080  hellxz/example:latest

訪問Jenkins所在ip,我這里是http://192.168.87.139:8080/greet

結尾

中秋節前一直在忙,距離考試還有一個月了,有時間再繼續更新。

本文系Hellxz學習與實踐文章,禁止布布扣、碼迷、愛碼網等第三方爬蟲網站爬取,轉載請在醒目位置注明出處:https://www.cnblogs.com/hellxz/p/pipeline_maven_docker.html


免責聲明!

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



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