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 │ ...
随机推荐
- Java面试必问,ThreadLocal终极篇
转载自掘金占小狼博客. 前言 在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 有些面试官会开门见山的提问: “知道Thread ...
- Android系统示例分析之AccelerometerPlay
程序界面: 创建 SimulationView , 实现接口 SensorEventListener , 实现接口中两个抽象方法 public void onSensorChanged(SensorE ...
- 在eclipse中将android工程打包生成apk文件
1.)生成keystore 按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_10\bin>目录下,输入keytool -genkey -alias androi ...
- window.onunload | window.onbeforeunload
先引述一段jQuery 官方对于onunload的评述: The unload event is sent to the window element when the user navigates ...
- C++的引用与const指针的关系以及各种传递方式
首先我们知道 const int *p 与 int const *p 是一样的,即 *p 是常量:而 int * const p 跟上面是不一样的,即 p 是常量:我们知道引用只是一个别名,与变量共享 ...
- c语言中怎样用scanf()读入带空格的字符串?
楼主 发表于: 2011-01-14 15:39:55 #include <stdio.h> int main(void){ int i; char a[5]; scanf("% ...
- Python 列表 min() 方法
描述 Python 列表 min() 方法返回列表元素中的最小值. 语法 min() 方法语法: min(L) 参数 L -- 要返回最小值的列表. 返回值 返回列表元素中的最小值. 实例 以下实例展 ...
- 人工打jar包
(一)将可执行程序打成一个jar包 其中Yoyo为入口程序,因此将当前目录下workhard和Book.class.testEx.class.Yoyo.class打成一个jar包的命令如下: jar ...
- 关于浏览器对静态HTML页面的缓存问题
症状: 刚才为了测试TOMCAT的BASIC安全验证,修改了tomcat-users.xml和/WEB-INF/web.xml之后进行测试,<url-pattern>/*<url-p ...
- js prototype 理解
简单理解:prototype对象是实现面向对象的一个重要机制.每个函数也是一个对象,它们对应的类就是 function,每个函数对象都具有一个子对象prototype.Prototype 表示了该函数 ...