**本篇主要針對jenkins + docker 項目建構配置 **
jenkins 的安裝配置移步到:
https://blog.csdn.net/qq_41463655/article/details/89734992
docker 建構 springboot jar為鏡像容器不使用jenkins請移步到:
https://blog.csdn.net/qq_41463655/article/details/90136935
一、在springboot項目配置
1、建立docker建構鏡像腳本
- src/main 下建立 docker 檔案夾
- 在建立Dockerfile檔案
- 在把代碼送出至svn/git
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD springboot_docker_demo.jar springboot_docker_demo.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/springboot_docker_demo.jar"]
FROM ,表示使用 Jdk8 環境 為基礎鏡像,如果鏡像不是本地的會從 DockerHub 進行下載下傳
VOLUME ,VOLUME 指向了一個/tmp的目錄,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 預設使用/tmp作為工作目錄。這個指令的效果是:在主控端的/var/lib/docker目錄下建立一個臨時檔案并把它連結到容器中的/tmp目錄
ADD ,拷貝檔案并且重命名
ENTRYPOINT ,為了縮短 Tomcat 的啟動時間,添加java.security.egd的系統屬性指向/dev/urandom作為 ENTRYPOINT
2、pom.xml 添加打包指令
<!-- 自定義maven 打包後的名稱-->
<finalName>springboot_docker_demo</finalName>
<!-- maven 打包成 Docker 鏡像 -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>${docker.image.prefix}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- maven打包跳過測試 -->
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
二、jenkins 配置
1、拉取git/svn代碼
2、maven 打包跳過測試
-Dmaven.test.skip=true
3、上傳docker 打包鏡像腳本
添加建構後操作
- 上傳檔案預設頂級目錄為在jenkins工作空間,
- **表示在工作空間下找到Dockerfile檔案
- 去除字首看第一次輸出值linux目錄結構在自己去除把,目的是讓jar,和腳本在同級目錄
**\Dockerfile
docker images
docker ps -a
4、發送 jar
添加一個ssh檔案發送 或 指令
springboot的maven打包後的 jar
和上面一個意思
5、docker指令建構項目
在添加一個ssh檔案發送 或 指令
指令一欄
cd /
docker rm -f wsldy
docker rmi -f wsldy.jar:latest
cd /usr/local/work/jenkins
docker build -t wsldy.jar .
docker run --name wsldy -p 8888:8080 -t -d wsldy.jar
修正時間、啟動指令添加 -v /etc/localtime:/etc/localtime
docker run -v /etc/localtime:/etc/localtime --name wsldy -p 8888:8080 -t -d wsldy.jar
6、建構啟動指令詳細說明
表示為根目錄
cd /
删除正在運作的容器(上次建構的同項目)
docker rm -f wsldy
删除鏡像(上次建構的同項目)
docker rmi -f wsldy.jar:latest
進入jar 和 Dockerfile 檔案的存放目錄
cd /usr/local/work/jenkins
建構docker鏡像
docker build -t wsldy.jar .
背景啟動鏡像,不會列印啟動日志
docker run --name wsldy -p 8888:8080 -t -d wsldy.jar
然後點選建構項目就ok了呢
喜歡就個贊呗!…