jenkins+docker部署java項目


jenkins + maven + jdk + docker + docker register + dockerfile

jenkins插件

# 安裝插件
SSH

# 配置

系統設置-> SSH remote hosts

Dockerfile

# Dockerfile
# 基於的鏡像
#FROM openjdk:8-jdk-alpine
FROM openjdk:8u265

ADD target/chemical.jar chemical.jar
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
# -Djava.security.egd=file:/dev/./urandom 可解決tomcat可能啟動慢的問題
# 具體可查看:https://www.cnblogs.com/mightyvincent/p/7685310.html
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/chemical.jar"]

# 對外端口
EXPOSE 10140

Build

clean package -Dmaven.test.skip=true

Post Steps


IMAGE_NAME="inner.meeno.net:5000/chemical:1.0"

# 進入項目
echo $PWD
cd /var/lib/jenkins/workspace/chemical_test/


# docker build
sudo docker build -t $IMAGE_NAME .

# push docker registry
sudo docker push $IMAGE_NAME

# success
echo 'push docker registry success'

目標服務器上配置可以使用 docker私有倉庫

    echo '{ "insecure-registries":["xxx.xxx.xxx.xxx:5000"] }' > /etc/docker/daemon.json
    systemctl restart docker

構建后操作

Post Steps -> Execute shell script on remote host using ssh

command:


docker pull inner.meeno.net:5000/chemical:1.0

docker rm -f chemical_server

docker run -d -p 10140:10140 --name chemical_server inner.meeno.net:5000/chemical:1.0

查看是否部署成功

docker logs -f --tail 100 chemical_server


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM