這篇文章主要講解了springboot docker jenkins如何自動化部署并上傳鏡像,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供蓮都網(wǎng)站建設(shè)、蓮都做網(wǎng)站、蓮都網(wǎng)站設(shè)計(jì)、蓮都網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、蓮都企業(yè)網(wǎng)站模板建站服務(wù),十載蓮都做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
springboot + docker + jenkins自動化部署項(xiàng)目,jenkins、MySQL、redis都是docker運(yùn)行的,并且沒有使用虛擬機(jī),就在阿里云服務(wù)器(centos7)運(yùn)行
1、前期準(zhǔn)備工作不說了
2、在項(xiàng)目根目錄下新建Dockerfile
Dockerfile文件內(nèi)容為:
#基礎(chǔ)鏡像 FROM openjdk:12 #作者 MAINTAINER demoVOLUME /tmp #指定配置文件,以及jar包在服務(wù)器上的路徑 ENTRYPOINT ["java","-Dspring.profiles.active=prod","-jar","/lcy/work/tools/tools.jar"] #暴露端口 EXPOSE 8092
3、在服務(wù)器找個目錄新建一個.sh文件
#!/bin/sh echo '================開始構(gòu)建鏡像==============' #鏡像名稱 IMAGE_NAME='registry.cn-beijing.aliyuncs.com/???/tools' #打包后在jenkins的地址 SOURCE_PATH='/lcy/jenkins/workspace/tools' #Dockerfile執(zhí)行jar包的地址 BASE_PATH='/lcy/work/tools' echo IMAGE_NAME=$IMAGE_NAME echo '================復(fù)制JAR包===================' echo $SOURCE_PATH/target/tools-0.0.1-SNAPSHOT.jar cp $SOURCE_PATH/target/tools-0.0.1-SNAPSHOT.jar $BASE_PATH/tools.jar chmod -R 777 $BASE_PATH/tools.jar echo '================復(fù)制完成====================' echo '================當(dāng)前docker版本==============' docker -v echo '================構(gòu)建鏡像開始================' docker build -t $IMAGE_NAME -f $SOURCE_PATH/Dockerfile . echo '================構(gòu)建鏡像結(jié)束================' #輸入要推送鏡像的地址,根據(jù)鏡像倉庫提示的地址復(fù)制 echo '================推送鏡像開始================' docker login --username=??? --password=??? registry-vpc.cn-beijing.aliyuncs.com docker push $IMAGE_NAME echo '================推送鏡像結(jié)束================' echo '================獲取容器id==================' CID=$(docker ps | grep "$IMAGE_NAME" | awk '{print $1}') echo 容器id=$CID echo '================獲取鏡像id==================' IID=$(docker images | grep "$IMAGE_NAME" | awk '{print $3}') echo 鏡像id=$IID if [ -n "$CID" ]; then echo 存在$IMAGE_NAME容器,停止容器并刪除 docker stop tools docker rm tools else echo 不存在$IMAGE_NAME容器,開始啟動 docker run -p 8092:8092 -d --name tools -v $BASE_PATH:$BASE_PATH $IMAGE_NAME fi
4、配置jenkins,執(zhí)行新建的.sh文件(記得給好權(quán)限)其它的配置就不說了,比如github的配置
5、運(yùn)行結(jié)果
看完上述內(nèi)容,是不是對springboot docker jenkins如何自動化部署并上傳鏡像有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。