1. 程式人生 > >jenkins 上傳war到伺服器指令碼 上傳war到docker生成新的映象容器啟動指令碼及dockerfile

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