zoukankan      html  css  js  c++  java
  • Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)

    Jenkins发布docker应用与发布java应用配置基本一致,需要配置Dockerfile及构建的步骤,步骤如下:

    1、jenkins主机构建应用为jar包

    2、jenkins主机把生产的jar包构建为docekr镜像

    3、jenkins主机把构建好的镜像推送至镜像仓库

    4、目标主机去镜像仓库拉取镜像

    5、目标主机以拉取的最新镜像启动新的服务

    注意:需要在jenkins以及目标主机部署docker服务,关于docker的部署网上问的一堆,请自行百度。

    1、新建项目

    跟据之前创建任务一样,创建maven项目

    2、项目配置

      a)源码管理:指定代码仓库位置,以及分支

      b)build

      

      c)Post Steps

      指定构建docker镜像的命令

      

      说明:这里是说把打包好的jar包复制到我们创建好的构建eureka镜像的目录

      build.sh 是一个脚本,用来构建镜像,并把镜像推送至指定镜像仓库,脚本内容如下: 

    [tchua@centos01 one-eureka]$ vim build.sh
    #!/bin/bash docker_hub="registry-vpc.cn-hangzhou.aliyuncs.com/xxx/uat-images" ## 镜像仓库地址 TAG="eureka" #rm docker rmi ${docker_hub}:$TAG  ## 删除上一次构建镜像 #login docker login -u ${USER} -p ${PASSWD} ${docker_hub} ## 登陆镜像仓库,${USER} ${PASSWD}修改为自己具体的用户名密码 #build docker build -t ${docker_hub}:$TAG .        ## 构建新镜像,. 是指DOckerfile在当前目录下 #push docker push ${docker_hub}:$TAG            ## 推送镜像至镜像仓库

    镜像构建需要一个Dockerfile,Dockerfile文件内容:

    FROM registry-vpc.cn-hangzhou.aliyuncs.com/vanje_one/software:java1.8
    
    MAINTAINER vanje@vanje.com.cn
    
    ADD eureka-1.0.0.jar /apps/
    
    EXPOSE 8076
    
    ENTRYPOINT ["java","-jar","/apps/eureka-1.0.0.jar"]

      d)构建后操作

      说明:这里是远程登陆服务器执行服务启动脚本。

      脚本内容如下:

    #!/bin/bash
    
    docker_hub="registry-vpc.cn-hangzhou.aliyuncs.com/vanje_one/uat-images"  ## 镜像仓库地址
    
    TAG="eureka"
    #rm
    docker rm -f eureka                        ## 删除现有容器
    docker rmi ${docker_hub}:${TAG}                 ## 删除现有容器镜像
    
    #login
    docker login -u ${USER} -p ${PASSWD} ${docker_hub} ## 登陆镜像仓库,${USER} ${PASSWD}修改为自己具体的用户名密码
    
    docker pull ${docker_hub}:${TAG}                  ## 拉去镜像
    
    docker run --name eureka -p 8076:8076 -d ${docker_hub}:${TAG}  ## 启动指定镜像服务

    3、发布

    以上保存点击发布后,查看控制台日志可以看到对应的构建信息:

  • 相关阅读:
    mobx源码解读1
    表单元素之图形系
    koa2+koa-views示例
    avalon2的后端渲染实践
    向一个数组中插入元素
    一步步编写avalon组件02:分页组件
    avalon2学习教程15指令总结
    avalon2学习教程14动画使用
    WPF动态加载Menu菜单
    WPF自定义控件与样式 ---- 系列文章
  • 原文地址:https://www.cnblogs.com/tchua/p/10913444.html
Copyright © 2011-2022 走看看