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)!
jenkins发布docker到mesos的更多相关文章
- Jenkins集成Docker镜像实现自动发布
1. 思路&流程 Jenkins集成Docker镜像实现自动发布与Jenkins发布mavne项目思路一样总体流程 为:Jenkins 拉去远端源码 -- gitl实现应用打包 -- jenk ...
- jenkins构建docker镜像上传到harbor并发布到kubernetes
很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有 ...
- jenkins+maven+docker集成java发布(二)#远程发布
jenkins+maven+docker集成java发布(一)中写了在Jenkins服务器自动部署业务,那需要将java项目部署到其他服务器怎么操作 这里需要依赖插件Publish Over SSH ...
- jenkins+maven+docker集成java发布(一)自动发布
JAVA项目持续集成发布 标签(空格分隔): java jenkins 微服务中持续集成自动发布是很重要的一个环节,将不同的模块应用自动部署到一台或者N台服务器中如果采用人工部署的方式不太现实 git ...
- docker 安装jenkins 发布 asp.net core 2.0
安装Docker 其实安装Docker的过程,大家可以到Docker官网找到自己相对应的安装文档进行安装,Docker区分CE和EE的两个版本,具体这两个版本有什么区别,大家自行查阅相关资料,这里不再 ...
- Jenkins+Harbor+Docker发布
使用Jenkins发布Docke 需要准备的,docker,jenkins,Harbor docker安装 安装依赖: # yum install -y yum-utils device-mapper ...
- 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)
使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...
- docker封装nuxt项目使用jenkins发布
一.概述 vue项目可以打一个dist静态资源包,直接使用Nginx发布即可. 但是nuxt项目无法像vue那样,可以打一个dist静态资源包. 需要安装Node.js,并使用npm install ...
- docker封装vue项目并使用jenkins发布
一.概述 vue项目可以打一个dist静态资源包,直接使用Nginx发布即可. 现在由于要上docker,需要将vue项目和nginx打成一个镜像才行. 项目结构如下: ./ ├── build │ ...
随机推荐
- [转载]编写高性能js
一.执行效率 1. DOM 1.1 使用DocumentFragment优化多次append 说明:添加多个dom元素时,先将元素append到DocumentFragment中,最后统一将Docum ...
- Linux系统扩容根目录磁盘空间
作者:非法小恋 一.使用背景 Linux根目录磁盘空间不够用了,当修改了虚拟机模版增加磁盘大小或者插入了一块新硬盘,但是发现系统里的大小还是没改变. 产生的原因是没有给磁盘格式化,没有增加分区. 二. ...
- JavaScript 中的所有数据都是以 64 位浮点型数据(float) 来存储。浮点型数据使用注意事项。全局变量特殊之处
JavaScript 中的所有数据都是以 64 位浮点型数据(float) 来存储. 所有的编程语言,包括 JavaScript,对浮点型数据的精确度都很难确定: <!DOCTYPE html& ...
- Entity Framework插入中文数据到MySQL乱码问题
1.MYSQL: 保证所有的的列都是UTF8格式. 2.在连接MySQL的连接字符串中,加入配置文件信息:Character Set=utf8
- android 实现全屏代码
设置全屏包括两个部分: 窗口全屏和Activity全屏. 窗口全屏 是指隐藏系统顶部用来显示时间.电量.信号等信息的标题栏 . Activity全屏 是指隐藏程序的标题栏.我们可以通过修改Androi ...
- mfc获取控件在对话框上的位置
CRect rect; GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标ScreenToClient(&rect);//转换为 ...
- Spring Boot 概念知识
转 http://rapharino.com/coder/Spring-Boot-Induction/ Spring Boot Induction 发表于 2016-10-29 | 分类于 c ...
- windows 2003 群集
http://www.tudou.com/programs/view/-UZoSIuUvXs/
- Atitit.软件仪表盘(0)--软件的子系统体系说明
Atitit.软件仪表盘(0)--软件的子系统体系说明 1. 温度检测报警子系统 2. Os子系统 3. Vm子系统 4. Platform,业务系统子系统 5. Db数据库子系统 6. 通讯子系统 ...
- php7性能、兼容性和稳定性探讨
前几天看到php7发布了beta1版本,想了解一下php7到底折腾了些啥东西出来.这一了解发现不得了了,改变还挺多的.最最重要的方面就是性能提升了不少,这边有一个pdf文件是惠新宸(鸟哥,php核心开 ...