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脚本

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

jenkins发布docker到mesos的更多相关文章

  1. Jenkins集成Docker镜像实现自动发布

    1. 思路&流程 Jenkins集成Docker镜像实现自动发布与Jenkins发布mavne项目思路一样总体流程 为:Jenkins 拉去远端源码 -- gitl实现应用打包 -- jenk ...

  2. jenkins构建docker镜像上传到harbor并发布到kubernetes

    很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有 ...

  3. jenkins+maven+docker集成java发布(二)#远程发布

    jenkins+maven+docker集成java发布(一)中写了在Jenkins服务器自动部署业务,那需要将java项目部署到其他服务器怎么操作 这里需要依赖插件Publish Over SSH ...

  4. jenkins+maven+docker集成java发布(一)自动发布

    JAVA项目持续集成发布 标签(空格分隔): java jenkins 微服务中持续集成自动发布是很重要的一个环节,将不同的模块应用自动部署到一台或者N台服务器中如果采用人工部署的方式不太现实 git ...

  5. docker 安装jenkins 发布 asp.net core 2.0

    安装Docker 其实安装Docker的过程,大家可以到Docker官网找到自己相对应的安装文档进行安装,Docker区分CE和EE的两个版本,具体这两个版本有什么区别,大家自行查阅相关资料,这里不再 ...

  6. Jenkins+Harbor+Docker发布

    使用Jenkins发布Docke 需要准备的,docker,jenkins,Harbor docker安装 安装依赖: # yum install -y yum-utils device-mapper ...

  7. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

    使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...

  8. docker封装nuxt项目使用jenkins发布

    一.概述 vue项目可以打一个dist静态资源包,直接使用Nginx发布即可. 但是nuxt项目无法像vue那样,可以打一个dist静态资源包. 需要安装Node.js,并使用npm install ...

  9. docker封装vue项目并使用jenkins发布

    一.概述 vue项目可以打一个dist静态资源包,直接使用Nginx发布即可. 现在由于要上docker,需要将vue项目和nginx打成一个镜像才行. 项目结构如下: ./ ├── build │  ...

随机推荐

  1. 18-spring学习-AOP深入操作

    范例:定义一个参数拦截 package com.Spring.aop; import org.springframework.stereotype.Component; @Component publ ...

  2. HBase权威指南 高清中文版 PDF(来自linuxidc)

      内容提要 <HBase权威指南>由乔治(Lars George)著,探讨了 如何通过使用与HBase高度集成的Hadoop将 HBase的可 伸缩性变得简单:把大型数据集分布到相对廉价 ...

  3. iOS主题/皮肤之SakuraKit

    概述 目前市场上很多 App 都有主题变更.皮肤切换的功能.随着项目代码量的不断增长,业务不断完善,功能性代码逐渐趋于模块化,尤其是在多人协作开发同一个项目时,模块解耦尤为重要,同时,公共基础库的功能 ...

  4. 从0开始搭建symphony

    目标:在本地服务器中运行symphonyX 困难:=.= 基本全是困难…服务器重装了win/ubuntu/centos均不识别网卡,也是醉了. 1.通过Eclipse进行配置. 一开始以为需要单独下载 ...

  5. Maven--要点笔记

    --maven笔记 1.maven命令 2.archetype插件:用于创建符合maven规定的文件夹骨架   命令: mvn archetype:generate 3. 坐标:构件 仓库: 本地仓库 ...

  6. MPEG-4 压缩编码标准

    文章转自:http://www.cnblogs.com/CoderTian/p/8477021.html 1.MPEG-4标准概述 与MPEG1和MPEG2标准相比,MPEG-4 更加注重多媒体系统的 ...

  7. 使用vs调试.net源代码

    使用.NET Framework库参考源进行调试 您可能会想知道使用.NET Framework参考源的调试方式.在下面的示例中,您将看到一个我调用公用Console.WriteLine方法的工具.从 ...

  8. django 常用命令 详解

    check     compilemessages     createcachetable     dbshell     diffsettings     dumpdata     flush   ...

  9. C++加载dll失败或显示乱码

    右键项目-属性-字符集-使用多字节字符集

  10. GDKOI2016 爆零记

    滚粗了非常伤心>_< day 0 老师通知能够去试机,于是非常愉快地将近三点半左右的时间到了二中.然后发现老师已经准备关机房了,说我怎么才来.. .喂喂喂不是说三点半到五点的么 晚上本来想 ...