jenkins + maven + jdk + docker + docker register + dockerfile
jenkins插件
# 安装插件SSH# 配置系统设置-> SSH remote hosts
Dockerfile
# Dockerfile# 基于的镜像#FROM openjdk:8-jdk-alpineFROM openjdk:8u265ADD target/chemical.jar chemical.jarRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeRUN echo 'Asia/Shanghai' >/etc/timezone# -Djava.security.egd=file:/dev/./urandom 可解决tomcat可能启动慢的问题# 具体可查看:/mightyvincent/p/7685310.htmlENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/chemical.jar"]# 对外端口EXPOSE 10140
Build
clean package -Dmaven.test.skip=true
Post Steps
IMAGE_NAME=":5000/chemical:1.0"# 进入项目echo $PWDcd /var/lib/jenkins/workspace/chemical_test/# docker buildsudo docker build -t $IMAGE_NAME .# push docker registrysudo docker push $IMAGE_NAME# successecho 'push docker registry success'
目标服务器上配置可以使用 docker私有仓库
echo '{ "insecure-registries":["xxx.xxx.xxx.xxx:5000"] }' > /etc/docker/daemon.jsonsystemctl restart docker
构建后操作
Post Steps -> Execute shell script on remote host using ssh
command:
docker pull :5000/chemical:1.0docker rm -f chemical_serverdocker run -d -p 10140:10140 --name chemical_server :5000/chemical:1.0
查看是否部署成功
docker logs -f --tail 100 chemical_server
如果觉得《jenkins+docker部署java项目》对你有帮助,请点赞、收藏,并留下你的观点哦!