jenkins 上传war到服务器脚本 上传war到docker生成新的镜像容器启动脚本及dockerfile

在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 "[email protected]"
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

你可能感兴趣的:(Jenkins,&,Docker)