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)!

  • 相关阅读:
    转:va_list、va_start、va_arg、va_end的原理与使用
    学习Docker的记录
    Google Code 优秀的开源工具
    转载(程序在内存中运行的奥秘)
    C# 和 Java 之争之我见
    揭秘ASP.NET 2.0的Eval方法(转)
    IIS6.0 架构(二)
    IE6 position:fixed bug (固定窗口方法)(转载)
    用FileStream上传图片转换成二进制,在本地用行,传到服务器上去出现如下错误
    异常处理
  • 原文地址:https://www.cnblogs.com/sl21100/p/6651316.html
Copyright © 2011-2022 走看看