日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用 Jenkins 自动部署 java-web 应用到 Docker 容器(全过程)

發布時間:2025/3/19 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 Jenkins 自动部署 java-web 应用到 Docker 容器(全过程) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面

首先我們在使用默認的 Jenkins 安裝配置的時候,是缺少幾個插件的,我們需要手動安裝上去,插件名稱如下(我安裝 Jenkins 的時候默認把他漢化了):

  • SSH server
  • Publish Over SSH
  • Docker Pipeline
  • Docker
  • Docker Commons Plugin
  • Maven Integration Plugin

然后重啟就好了

插件安裝入口

準備好 GIT 倉庫

就是一個可以看到效果的 Test 工程,這里我使用我的一個 web 工程來測試:https://gitee.com/peppa-qiu/ci-cd-test.git

特別說明,項目中需要有 Dockerfile,和 docker-compose-dev.yml 文件

  • Dockerfile 文件
FROM openjdk:oraclelinux8RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeLABEL "author"="qiuqiuya" LABEL "version"="1.0" LABEL "email"="fortunate_qkm@163.com"ADD *.jar app.jarEXPOSE 8081ENTRYPOINT ["java", "-jar", "-Duser.timezone=GMT+08", "-Dfile.encoding=UTF-8", "-Dsun.jnu.encoding=UTF-8", "/app.jar"]
  • docker-compose-dev.yml 文件
version: "3"services:ci-cd-test:container_name: ci-cd-testimage: ci-cd-test:${BUILD_NUMBER}ports:- "8081:8080"restart: always

創建之前的準備

1、設置 --> 全局工具配置:設置 jdk,maven,ssh server


2、系統管理 --> 系統配置:配置 SSH Servers

注意,這一步需要安裝好 SSH server、Publish Over SSH 這兩個插件

Jenkins 創建構建流程

1、創建一個 maven 項目

2、配置構建流程

1、配置 GIT 倉庫信息

2、配置觸發構建條件

3、配置 Build

2、構建成功之后的操作(Post Steps)

記得勾選一下 Verbose output in console,可以到時候在控制臺看到輸出信息

上傳 jar 包到服務器的配置:

上傳 Dockerfile 文件的配置(另外一個 docker-compose-dev.yml 一樣的操作,這里就不截圖了):


Mac 版本 SHELL 腳本

#!/bin/bash source /etc/profile source ~/.zshrc if [[ -a ".env" ]]; then rm -rf .env fi cd /Users/qiukangming/jenkins-build/ci-cd-test # BUILD_NUMBER 是 Jenkins 的內置變量,可以使用 $ 獲取 echo BUILD_NUMBER=${BUILD_NUMBER} >> .env docker build -t ci-cd-test:${BUILD_NUMBER} . docker-compose -f docker-compose-dev.yml -p ci-cd-test stop docker-compose -f docker-compose-dev.yml -p ci-cd-test up -d

Linux 版本 SHELL 腳本

#!/bin/bash source /etc/profile if [[ -a ".env" ]]; then rm -rf .env fi cd /root/jenkins-build/ci-cd-test echo BUILD_NUMBER=${BUILD_NUMBER} >> .env docker build -t ci-cd-test:${BUILD_NUMBER} . docker-compose -f docker-compose-dev.yml -p ci-cd-test stop docker-compose -f docker-compose-dev.yml -p ci-cd-test up -d

然后保存退出就行了~

3、查看效果

我們可以等待 5 分鐘自動構建,也可以手動運行構建流程





4、服務器上查看構建好的文件

5、查看 Docker 情況


6、訪問接口

到這里我們的 Jenkins 的 CI/CD 流程就弄好啦~

總結

以上是生活随笔為你收集整理的使用 Jenkins 自动部署 java-web 应用到 Docker 容器(全过程)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。