Docker?+?jenkins項目打包鏡像部署詳細(xì)步驟(親測有效)
這一期目前是基于已經(jīng)搭建好Docker + jenkins 的基礎(chǔ)上進(jìn)行的,當(dāng)然,后面會將Docker和Jenkins的部署也會寫,好了,廢話不多說,接下來我們就已經(jīng)搭建好的環(huán)境進(jìn)行項目的部署:
1.jenkins 安裝:
前期的JDK安裝:以下的安裝都是基于jenkins 就可以,當(dāng)然自己在外部的JDK在啟動Jenkins時候就需要將其掛載在Jenkins上,不然在Jenkins中會找不到執(zhí)行環(huán)境,比如:
后續(xù)會將這個的啟動和部署出一個文章的,現(xiàn)在很多文章不夠具體和細(xì)節(jié)
docker run -d \ -p 8888:8080 \ -p 50000:50000 \ --privileged=true \ -v /var/jenkins_home:/var/jenkins_home \ -v /etc/localtime:/etc/localtime \ -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \ --restart=always \ --name=jenkins \ -u root \ -v /data/maven/maven3.9:/data/maven \ 這里就是掛載的maven -v /usr/local/tools/jdk11:/data/jdk11 \ 這里是掛在的jdk -v /var/run/docker.sock:/var/run/docker.sock \ **這里非常重要,必須加**,不然進(jìn)去執(zhí)行shell會找不到Docker命令 -v $(which docker):/usr/bin/docker \ **這里非常重要,必須加**,不然進(jìn)去執(zhí)行shell會找不到Docker命令 jenkins/jenkins
maven安裝:
全局環(huán)境變量設(shè)置:
上面的前期設(shè)置:
2.項目搭建
2.1.接下來就是新建任務(wù)
項目具體設(shè)置
2.2 git 倉庫地址配置
2.3 maven配置
2.4 shell 腳本設(shè)置
2.5 項目中Dockerfile 設(shè)置
Jenkins shell:
#!/bin/bash cd /var/jenkins_home/workspace/springboot-jenkins-test docker stop springboottest || true docker rm springboottest || true docker rmi springboottest || true docker build -t springboottest . docker run -d -p 8092:8092 --name springboottest springboottest:latest
項目中的Dockerfile:
# 指定是基于哪個基礎(chǔ)鏡像 FROM java:8 # 作者信息 MAINTAINER Edward_zhang # 掛載點(diǎn)聲明 VOLUME /tmp1 # 將本地的一個文件或目錄,拷貝到容器的文件或目錄里 ADD /target/springboot-jenkins-test-1.0.0.jar springboot.jar #shell腳本 RUN bash -c 'touch /springboot.jar' # 將容器的8081端口暴露,給外部訪問。 EXPOSE 8092 # 當(dāng)容器運(yùn)行起來時執(zhí)行使用運(yùn)行jar的指令 #ENTRYPOINT ["java", "-jar", "springboot.jar"] ENTRYPOINT ["java", "-jar", "/springboot.jar"]
最終要的來了:點(diǎn)擊保存 ??
構(gòu)建:
2.6 結(jié)果展示
看到上圖中的日志顯示,就可以知道是我們在Dockerfile 中設(shè)置的相關(guān)
當(dāng)然在其中也遇到過很多坑:
3. 遇到的坑總結(jié)
3.1 jdk 找不到
這就是上面所說的Jenkins部署的時候沒有將jdk掛載,
3.2 docker command not found
這里出現(xiàn)的問題就很重要了,問題是你在部署啟動Jenkins的時候,沒有將docker 容器掛載,后面運(yùn)行上面的shell腳本的時候就會出現(xiàn)找不到的問題
3.3 打包失敗 Build failed
這里的問題就是maven出現(xiàn)問題,會出現(xiàn)
3.4 jdk 設(shè)置問題
總結(jié)
到此這篇關(guān)于Docker + jenkins項目打包鏡像部署的文章就介紹到這了,更多相關(guān)Docker+jenkins打包鏡像部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker?build?-t?和?docker?build?-f?區(qū)別解析
docker build 是用于構(gòu)建Docker鏡像的命令,它允許你基于一個Dockerfile來創(chuàng)建一個鏡像,在 docker build 命令中,有兩個常用的選項 -t 和 -f,它們有不同的作用,這篇文章主要介紹了docker?build?-t?和?docker?build?-f?區(qū)別,需要的朋友可以參考下2023-08-08docker搭建Mycat實(shí)現(xiàn)讀寫分離的項目實(shí)踐
本文主要介紹了docker搭建Mycat實(shí)現(xiàn)讀寫分離的項目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06docker-compose啟動springboot項目連接mysql問題
這篇文章主要介紹了docker-compose啟動springboot項目連接mysql問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03