zoukankan      html  css  js  c++  java
  • 10.通过jenkins将springboot项目打包成docker镜像部署到humpback集群

    前提准备

    1.拥有一台jenkins服务器    192.168.215.50:8080 

    2.拥有一台humpback服务器   192.168.215.81:8012

    3.有用一台docker服务器    192.168.215.20 (安装jdk)

    4.获得一个基础JDK8镜像用来包装我们的应用程序

    #先下载一个镜像
    docker image pull hub.c.163.com/wuxukun/maven-aliyun:3-jdk-8

     

    # 根据私有仓库,设定标签(必须)
    # 为镜像 `hub.c.163.com/wuxukun/maven-aliyun:3-jdk-8` 创建一个新标签 `192.168.215.81:5000/basjdk8docker:v1`
    docker tag hub.c.163.com/wuxukun/maven-aliyun:3-jdk-8 192.168.215.81:5000/basjdk8docker:v1

    #推送镜像到私库
    docker push 192.168.215.81:5000/basjdk8docker:v1

     

    #也可以通过api去查看
    curl http://192.168.215.81:5000/v2/_catalog

     

    出现如下问题参照:https://www.cnblogs.com/ff111/p/11889723.html 附的解决方案

    流程概要

     

    1.开发人员提交代码到Git服务器

    2.触发Jenkins将代码打包

    3.Jenkins通过脚本把jar部署到docker服务器,并通过dockerfile将发布的应用构建成镜像

    4.在通过脚本文件将构建好的镜像push到私服

    5.jenkins通过dockerapi请求Humpback集群创建一个容器

    6.humpback通过api请求参数从私库获取镜像并运行容器

    7.测试人员或开发人员通过浏览器访问应用

    配置手顺

    1.创建一个新的jenkins任务

     

     

    item
    hello-world
    
    test
    -D maven.test.skip=true -U

     

    你自己的代码gitlab地址

     

     

    ${item}/pom.xml
    clean  package ${test}
    BUILD_ID=DONTKILLME /var/dockerworks/docker.sh

     保存jenkins构建配置,并执行,记录红框地址

    [INFO] Building jar: /var/lib/jenkins/workspace/jenkins-gitlab-maven-springboot-humpback/hello-world/target/hello-world-0.0.1-SNAPSHOT.jar

    2./var/dockerworks目录下创建并编写Dockerfile文件

    vi Dockerfile

    
    

    #从私服下载镜像
    FROM 192.168.215.81:5000/basjdk8docker:v1
    # 指定当前操作目录
    WORKDIR /var/dockerworks
    # 把当前目录jar复制到容器根目录
    ADD helloworld.jar helloworld.jar
    #指定对外端口号
    EXPOSE 8090
    #启动java程序
    #--spring.profiles.active=dev 多环境下指定环境 。 -c为清除以前启动的数据
    ENTRYPOINT ["java","-jar","helloworld.jar","--spring.profiles.active=dev","-c"]

     

    3.创建配置docker.sh脚本

     vi docker.sh

     

  • 相关阅读:
    Bounded Context
    Unity3D研究院之IOS本地消息通知LocalNotification的使用(六十七)
    SVN服务器搭建和使用
    进度条
    XQuery获取节点的属性名与值
    AnimatorStateInfo
    Unity3D 中脚本执行的先后顺序
    Unity里面的自动寻路(二)
    Unity里面的自动寻路(一)
    java遍历文件夹两种方式
  • 原文地址:https://www.cnblogs.com/ff111/p/11937906.html
Copyright © 2011-2022 走看看