springboot docker jenkins 自動化部署并上傳鏡像的步驟詳解
springboot + docker + jenkins自動化部署項目,jenkins、mysql、redis都是docker運行的,并且沒有使用虛擬機,就在阿里云服務器(centos7)運行
1、前期準備工作不說了
2、在項目根目錄下新建Dockerfile
Dockerfile文件內容為:
#基礎鏡像FROM openjdk:12#作者MAINTAINER demo <[email protected]>VOLUME /tmp#指定配置文件,以及jar包在服務器上的路徑ENTRYPOINT ['java','-Dspring.profiles.active=prod','-jar','/lcy/work/tools/tools.jar']#暴露端口EXPOSE 8092
3、在服務器找個目錄新建一個.sh文件
#!/bin/shecho ’================開始構建鏡像==============’#鏡像名稱IMAGE_NAME=’registry.cn-beijing.aliyuncs.com/???/tools’#打包后在jenkins的地址SOURCE_PATH=’/lcy/jenkins/workspace/tools’#Dockerfile執行jar包的地址BASE_PATH=’/lcy/work/tools’echo IMAGE_NAME=$IMAGE_NAMEecho ’================復制JAR包===================’echo $SOURCE_PATH/target/tools-0.0.1-SNAPSHOT.jarcp $SOURCE_PATH/target/tools-0.0.1-SNAPSHOT.jar $BASE_PATH/tools.jarchmod -R 777 $BASE_PATH/tools.jarecho ’================復制完成====================’echo ’================當前docker版本==============’docker -vecho ’================構建鏡像開始================’docker build -t $IMAGE_NAME -f $SOURCE_PATH/Dockerfile .echo ’================構建鏡像結束================’#輸入要推送鏡像的地址,根據鏡像倉庫提示的地址復制echo ’================推送鏡像開始================’docker login --username=??? --password=??? registry-vpc.cn-beijing.aliyuncs.comdocker push $IMAGE_NAMEecho ’================推送鏡像結束================’echo ’================獲取容器id==================’CID=$(docker ps | grep '$IMAGE_NAME' | awk ’{print $1}’)echo 容器id=$CIDecho ’================獲取鏡像id==================’IID=$(docker images | grep '$IMAGE_NAME' | awk ’{print $3}’)echo 鏡像id=$IIDif [ -n '$CID' ]; then echo 存在$IMAGE_NAME容器,停止容器并刪除 docker stop tools docker rm toolselse echo 不存在$IMAGE_NAME容器,開始啟動 docker run -p 8092:8092 -d --name tools -v $BASE_PATH:$BASE_PATH $IMAGE_NAMEfi
4、配置jenkins,執行新建的.sh文件(記得給好權限)其它的配置就不說了,比如github的配置
5、運行結果
本文由博客一文多發平臺 OpenWrite 發布!
到此這篇關于springboot docker jenkins 自動化部署并上傳鏡像的文章就介紹到這了,更多相關springboot docker jenkins 自動化部署內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: