在jenkins配置中的构建后操作选择Deploy war/ear to a container
// 上传到指定服务器tomcat 脚本
export JAVA_HOME=/home/jiaopi/jdk1.7.0_67
export JRE_HOME=/home/jiaopi/jdk1.7.0_67/jre
sh /home/jiaopi/apache-tomcat-7.0.42/bin/shutdown.sh
rm -rf /home/jiaopi/apache-tomcat-7.0.42/webapps/hexun-hot-api*
cp -r /home/jiaopi/testjp/hexun-hot-api-1.0-SNAPSHOT.war /home/jiaopi/apache-tomcat-7.0.42/webapps/hexun-hot-api.war
sleep 5s
sh /home/jiaopi/apache-tomcat-7.0.42/bin/startup.sh
=======================================================
# dockerfile
# Version 1.0.0
# Author:jiaopi
# Description:test
FROM javaweb:1.0
MAINTAINER jiaopi "41118887@qq.com"
ADD test-api.war /home/jiaopi/tomcat/webapps/
# ENTRYPOINT ["/root/run.sh", "run"]
# RUN yum install -y unzip zip
# RUN unzip /home/jiaopi/tomcat/webapps/webtest.zip
CMD /root/run.sh run
dockerfile需要放在宿主机的目录下
==================================================
jenkins配置中构建后操作选择 Send build artifacts over SSH
注意Transfer Set Source files 多个可以用逗号分隔
比如:test-api/target/test-api-1.0-SNAPSHOT.war,test-api/docker/Dockerfile
Remove prefix填test-api
在Exec command输入如下:
// 上传到docker的执行脚本
rm -rf /home/jiaopi/test-api*
mv -f /home/jiaopi/jp/test-api-1.0-SNAPSHOT.war /home/jiaopi/test-api.war
sleep 1s
# 需要判断容器是否存在
docker stop javawebtest1
docker rm -f javawebtest1
sleep1s
docker rmi -f javaweb:5.0
sleep 1s
cd /home/jiaopi
# 生成镜像
docker build -t javaweb:5.0 .
sleep 1s
# 启动镜像 映射端口 及指定卷
docker run -d -p 58086:8080 --name javawebtest1 -v /home/jiaopi/logs:/home/jiaopi/tomcat/logs javaweb:5.0