zoukankan      html  css  js  c++  java
  • jenkins发布docker到mesos

    1、前提是装好git、SSH、maven插件

    2、jenkins新建一个项目,配好git拉取代码、maven编译构建(gradle构建也行,这不重要)

    3、SSH Server,填写需要传输的jar文件,及脚本(mypush2.sh、Dockerfile)

         Exec command:  执行远程脚本命令

          cd data/${project} //进入工作目录

          chmod 777 mypush2.sh //修改脚本可执行权限
          sudo ./mypush2.sh //提升权限执行部署脚本,sudo加不加主要看用户有无权限

    4、mypush2.sh 构建docker、上传docker到私服、重启marathon

    #!/bin/bash
    set -e
    server_url=dockerhub.myco.com        //(私服地址,使用的开源的HARBOR)
    image_name=projec/myimage:latest   //(待构建的镜像名)

    DOCKER_FILE=$(pwd)
    echo ${DOCKER_FILE}
    docker build  -t ${server_url}/${image_name}  ${DOCKER_FILE}  || exit 1
    echo "build success"
    docker login dockerhub.myco.com -u test -p **** && docker push ${server_url}/${image_name}  //配置登录的用户名、密码
    echo "push success"
    curl -d "force:false" -H "Content-Type:application/json"  http://XXX:8080/v2/apps/myapp/restart    //调用marathon restart api
    echo "deploy marathon success"

    首先,执行docker build ,从Dockerfile构建docker

    其次,执行docker login、docker push ,将镜像推送到私服

    再次,成功上传私服后,调用marathon API重启app;

    5、Dockerfile 构建docker脚本

    FROM  dockerhub.myco.com/fund/base-image:latest
    MAINTAINER shilin
    ENV project_name myproj
    COPY ${project_name}-biz/target/${project_name}-biz-exec.jar /project/lib/
    WORKDIR /project
    ##EXPOSE 22882 8282
    ENTRYPOINT ["/project/bin/start.sh"]

    首先,拉取一个基础镜像,将打包好的jar复制到基础镜像的lib目录

    其次,设置WORKDIR默认工作目录,设置ENTRYPOINT,docker启动时自动启动的脚本(一般就是配置vm参数启动jar)!

  • 相关阅读:
    线性回归学习历程
    CART决策树的学习历程
    markdown测试
    开张大吉+代码测试
    使用tomcat启动dubbo项目
    ThreadLocal 工作原理、部分源码分析
    Dubbo项目demo搭建
    redis 操作 list 的测试
    redis 操作 hash 的测试
    redis 操作string 的测试
  • 原文地址:https://www.cnblogs.com/sl21100/p/6651316.html
Copyright © 2011-2022 走看看