本文主旨
主要記錄下如何使用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

