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

  • 相关阅读:
    HDU 5528 Count a * b 欧拉函数
    HDU 5534 Partial Tree 完全背包
    HDU 5536 Chip Factory Trie
    HDU 5510 Bazinga KMP
    HDU 4821 String 字符串哈希
    HDU 4814 Golden Radio Base 模拟
    LA 6538 Dinner Coming Soon DP
    HDU 4781 Assignment For Princess 构造
    LA 7056 Colorful Toy Polya定理
    LA 6540 Fibonacci Tree
  • 原文地址:https://www.cnblogs.com/hellxz/p/pipeline_maven_docker.html
Copyright © 2011-2022 走看看