Jenkins教程(五)构建Java服务Docker镜像

本文主旨

主要记录下如何使用Jenkins构建Java服务的Docker镜像,以及手动部署测试下

前期准备

  • 已安装Jenkins
  • 为jenkins用户添加到docker组内
  • 本地装有maven,配置或使用/etc/profile定义maven的家目录,全局生效

正文

新建个chapter3流水线工程

1149398-20190916143717685-217206628.png

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

1149398-20190916150957566-1672759841.png

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分支

1149398-20190916144052083-2053734418.png

图片看不清右键新标签页查看

保存,立即构建

测试

1149398-20190916170633306-292315019.png

docker images

1149398-20190916170722204-1037174918.png

这里在pom.xml中定义了两个tag

启动下试试看

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

访问Jenkins所在ip,我这里是http://192.168.87.139:8080/greet

1149398-20190916171018907-1770014741.png

结尾

中秋节前一直在忙,距离考试还有一个月了,有时间再继续更新。

本文系Hellxz学习与实践文章,禁止布布扣、码迷、爱码网等第三方爬虫网站爬取,转载请在醒目位置注明出处:https://www.cnblogs.com/hellxz/p/pipeline_maven_docker.html

转载于:https://www.cnblogs.com/hellxz/p/pipeline_maven_docker.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值