Dockerfile
FROM java:8
MAINTAINER CoreCmd<corecmd@163.com>
ADD target/cicd-demo-0.0.1-SNAPSHOT.jar /opt/app/cicd-demo.jar
ENTRYPOINT ["nohup","java","-jar","/opt/app/cicd-demo.jar","&"]
EXPOSE 80
shell脚本
echo "jenkenis构建完毕,开始执行镜像制作"
APP_HOME=/usr/local/jenkins/jenkins_home/workspace/CICD-TestJob
APP_IMAGE_NAME=image-cicd-demo
APP_CONTAINER_NAME=cloud_cicd_demo
echo "当前工作目录:$APP_HOME"
cd $APP_HOME
echo "1、停止旧的容器实例:$APP_CONTAINER_NAME"
if [[ -n $(docker ps | grep $APP_CONTAINER_NAME) ]];then
docker stop $APP_CONTAINER_NAME
echo "删除旧的容器实例: $APP_CONTAINER_NAME"
docker rm $APP_CONTAINER_NAME
fi
echo "2、删除旧的镜像:$APP_IMAGE_NAME"
if [[ -n $(docker images | grep $APP_IMAGE_NAME) ]];then
docker rmi $APP_IMAGE_NAME
fi
echo "3、制作新的镜像:$APP_IMAGE_NAME"
docker build -t $APP_IMAGE_NAME .
echo "镜像:$APP_IMAGE_NAME,制作完毕"
echo "4、启动新的容器实例"
docker run -tid --name=$APP_CONTAINER_NAME -p 8080:80 $APP_IMAGE_NAME