文章目錄
- 前言
- 一、前期準備
- 二、編輯構建文件
- 二、Jenkins構建
- 總結
前言
前面使用Jenkinsfile部署了前端vue項目,接著學習Jenkinsfile部署springboot項目。
一、前期準備
已經安裝好centos,并且安裝了jenkins和docker。本地新建springboot并上傳到gitee上。
二、編輯構建文件
打開本地工程,新增docker文件夾,新增Dockerfile文件
內容如下:
# jre基礎環境
FROM openjdk:8-jre-alpine# 維護者信息
MAINTAINER zhy# 設置環境變量-運行時也可傳參進來哈
ENV JAVA_OPTS ""# 添加jar包到容器中 -- tips: xx.jar 和 Dockerfile 在同一級
ADD *.jar /home/app.jar# 對外暴漏的端口號
# [注:EXPOSE指令只是聲明容器運行時提供的服務端口,給讀者看有哪些端口,在運行時只會開啟程序自身的端口!!]
EXPOSE 8080# 以exec格式的CMD指令 -- 可實現優雅停止容器服務
# "sh", "-c" : 可通過exec模式執行shell =》 獲得環境變量
CMD ["sh", "-c", "echo \"****** 運行命令:java -jar ${JAVA_OPTS} /home/app.jar\" & java -jar ${JAVA_OPTS} /home/app.jar"]
在根目錄新增Jenkinsfile文件
內容如下:
pipeline {agent anyenvironment {APP_NAME = 'executor-test'APP_IMAGE = 'executor-test'APP_PORT = 9999}stages {stage('環境準備') {steps {sh """# maven打包mvn clean install -DskipTests# 拷貝jar到docker目錄下cp target/executor-test-0.0.1-SNAPSHOT.jar docker"""}}stage('構建Docker鏡像') {steps {sh """# 刪除舊容器docker ps -a | grep ${APP_NAME} | awk '{print \$1}' | xargs -i docker stop {} | xargs -i docker rm {}# 刪除舊鏡像docker images | grep ${APP_NAME} | awk '{print \$3}' | xargs -i docker rmi {}# 進入Docker目錄cd docker# 構建鏡像docker build -f Dockerfile -t ${APP_IMAGE} . --no-cache"""}}stage('運行容器') {steps {sh """docker run -d -p ${APP_PORT}:8080 --restart=always --name ${APP_NAME} ${APP_IMAGE}"""}}}
}
提交代碼到gitee上,注意文件中的地址要與你自己項目的一致。
二、Jenkins構建
登錄jenkins新建任務
添加描述信息
流水線選擇SCM
選擇git
粘貼gitee中項目地址,選擇憑證,如果沒有憑證,點擊添加即可。
點擊保存,立即構建
可查看控制臺日志輸出
這里遇到了一個錯誤,打包的鏡像名稱不能用大寫
修改Jenkinsfile文件
提交代碼,接著構建
構建成功,打開瀏覽器訪問接口測試
總結
以上就是今天要講的內容,本文介紹了jenkins使用Jenkinsfile部署springboot項目。