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