• 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、发布

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

  • 相关阅读:
    Codeforces 632D 暴力
    Codeforces 632C
    nyoj 1070 诡异的电梯 简单dp
    Codeforces 6225B KMP
    Codeforces 631D
    笔记4:多层感知器(自定义模型)
    笔记3:逻辑回归(分批次训练)
    笔记2:张量简介
    笔记1:入门实例
    送快递(贪心+树形结构)
  • 原文地址:https://www.cnblogs.com/tchua/p/10913444.html
Copyright © 2020-2023  润新知