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

posted @ 2017-03-31 14:43 sl521100 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 参考网上一篇 “把Git Repository建到U盘上去” 1.我经常有这样的需求,工作、家里需要对同一份代码或文档编辑,并希望在不同地方能同步; 如果是私密性不那么强,可以直接使用github托管哈,当然付费也是可以私密的~~ 2.首先U盘上创建一个repository 名称: git_mycbb_repos git init –bare git_mycbb_repo... 阅读全文
posted @ 2016-06-24 12:48 sl521100 阅读(1521) 评论(0) 推荐(0) 编辑
摘要: 1.在使用spring cache注解如cacheable、cacheevict、cacheput过程中有一些问题; 比如,我们在查到一个list后,可以将list缓存到一个键对应的区域里;当新增、修改、删除一个元素的时候,其实我们 需要的是只将cache的list里的元素变动就可以了,但因为只有一个键,没法做到只更改一个元素,只能整个list重新加载, 对性能还是有一定的影响; 2.对s... 阅读全文
posted @ 2016-05-23 16:29 sl521100 阅读(6377) 评论(0) 推荐(1) 编辑
摘要: zabbix不用说了,很好的服务器监控管理工具,还支持中文哈! 1.添加epel仓库,有更多可用的软件包 rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 导入key rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-... 阅读全文
posted @ 2016-05-13 16:56 sl521100 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 1.基于JEECG3.5.2,提供多种数据源的代码生成,目前支持Oracle良好; 2.可动态配置数据源; 可动态配置模板集合,基于freemarker的模板文件; 可选择需要生成的数据表; 可导入一个java类,根据配置的模板,生成对应的代码文件; 3.目前的这个扩展,主要解决以下的问题; 动态的选择一个oracle数据源,选择一个数据表; 根据配置的模板集合如:dao、entity、ser... 阅读全文
posted @ 2016-04-22 16:09 sl521100 阅读(5564) 评论(0) 推荐(0) 编辑
摘要: Jboss、Websphere和weblogic的反序列化漏洞已经出来一段时间了,还是有很多服务器没有解决这个漏洞; 反序列化漏洞原理参考:JAVA反序列化漏洞完整过程分析与调试 这里参考了网上的 Java反序列化工具 - Java Deserialization Exp Tools ,来检测weblogic服务器反序列化漏洞; 该工具可以检测weblogic、jboss、webspher... 阅读全文
posted @ 2016-04-19 15:25 sl521100 阅读(6355) 评论(1) 推荐(0) 编辑
摘要: 1.通过jenkins传递部署包到服务器,调用自动部署shell完成jboss6.4的域模式部署; 2.自动部署shell如下: 完成部署包重命名(从jenkins过来的包可能没有改名;)、 调用jboss cli命令(分2步,首先从group里移除已部署的包就算没有也没关系,再将部署包部署到指定group)、 备份移除部署包(将部署包备份到指定文件夹以防部署回退,并删除该部署包); #... 阅读全文
posted @ 2016-04-15 10:10 sl521100 阅读(729) 评论(0) 推荐(0) 编辑
摘要: 从weblogic10.3像jboss 6.4项目迁移,遇到的一些问题: 因为使用weblogic可以自定义公共的war包库,在使用jboss中,也采取项目依赖公共库的方式; 1.jboss中使用公共库 2.ibatis的mappingLocations 依赖顺序;在jboss中,mapping文件通过refid有依赖的时候,被依赖的文件要 先加载,否则会报mapping文件加载不到的错误... 阅读全文
posted @ 2016-04-11 16:36 sl521100 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 1.默认,logstash对日志文件的选取是以单行为单位的;但像log4j这种输出日志经常会是以时间头开始的多行日志; 2.显示多行,需要配置logstash的config; input { file { type =>"cbb-sh-robot" path => ["/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-... 阅读全文
posted @ 2016-03-31 15:41 sl521100 阅读(2106) 评论(0) 推荐(0) 编辑
摘要: powerMock不仅支持接口mock,final类、静态类、静态方法、私有方法都支持mock,还是很强大的; 1.gradle引用: 2.测试代码 如果是静态类、方法、final类、私有方法的需要加上 @RunWith(PowerMockRunner.class) @PrepareForTest( 阅读全文
posted @ 2016-03-17 16:52 sl521100 阅读(823) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示