zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    开源资源大汇总(C#)
    javascript必知必会之this关键字及scope(转)
    MSMQ 消息队列 安装MSMQ 创建发送接收队例消息
    精确获取页面元素的位置(转)
    javascript无缝滚动(转)
    C#多线程
    javascript十个最常用的自定义函数(转)
    ASP.NET——ASP.NET 数据库缓存依赖
    jQuery三维展示插件(转)
    Action和Func的区别
  • 原文地址:https://www.cnblogs.com/hellxz/p/pipeline_maven_docker.html
Copyright © 2011-2022 走看看