动态

详情 返回 返回

再見Jenkins!一款更適合國人的自動化部署工具,賊帶勁! - 动态 详情

在開發或生產環境中,我們有時候會上服務器器然後敲命令來部署項目。這種敲命令的方式不僅麻煩,有時候還容易出錯,此時使用一套自動化部署方案,不僅方便還不易出錯。最近發現了一款好用的自動化部署工具Jpom,體驗不輸Jenkins,分享給大家!

Jpom簡介

Jpom是一款簡而輕的自動化部署工具,目前在Gitee上已有8.5k+star,它具有在線構建、自動部署、日常運維、項目監控等功能。

它能解決你日常開發中的這些痛點!

mall項目簡介

由於我們之後要使用Jpom來實現mall項目的自動化部署,這裏先簡單介紹下mall項目,mall項目是一套基於 SpringBoot3 + Vue 的電商系統(Github標星60K),後端支持多模塊和2024最新微服務架構,採用Docker和K8S部署。包括前台商城項目和後台管理系統,能支持完整的訂單流程!涵蓋商品、訂單、購物車、權限、優惠券、會員、支付等功能!

項目地址:

  • Boot項目:https://github.com/macrozheng/mall
  • Cloud項目:https://github.com/macrozheng/mall-swarm
  • 教程網站:https://www.macrozheng.com

項目演示:

安裝

Jpom使用Docker來安裝無疑是最方便的,這裏我們採用此種方式來安裝。
  • 首先通過如下命令下載Jpom的鏡像;
docker pull jpomdocker/jpom
  • 下載完成後,使用如下命令啓動jpom-server容器;
docker run -p 2122:2122 --name jpom-server \
-v /mydata/jpom-server/logs:/usr/local/jpom-server/logs \
-v /mydata/jpom-server/data:/usr/local/jpom-server/data \
-v /mydata/jpom-server/conf:/usr/local/jpom-server/conf \
-d jpomdocker/jpom
  • 容器啓動成功後,Jpom將運行在2122端口上,第一次訪問會要求我們超級管理員賬户,訪問地址:http://192.168.3.101:2122

  • 賬户創建完成後就可以訪問Jpom的控制枱頁面了。

自動化部署

接下來就以我的mall電商實戰項目為例,來介紹下Jpom的自動化部署功能。

準備

  • 首先我們來了解下自動化部署的的流程從gitee倉庫獲取代碼->使用maven打包項目->通過插件生成Docker鏡像->通過ssh執行腳本運行容器

  • 我們需要從倉庫信息中添加一個倉庫,倉庫地址:https://gitee.com/macrozheng/mall

  • 由於我們會使用Docker環境來構建項目,我們需要在Docker管理中添加添加一個Docker環境,注意Docker環境需要開啓遠程API訪問;

  • 然後分配工作空間為默認

  • 接下來在SSH管理中添加SSH配置,同理分配到默認工作空間後才可以使用;

  • 由於SSH沒有配置授權目錄是不能選擇的,所以還得配置好授權目錄/mydata

項目構建

  • 構建列表中新增一個容器構建,注意需要給Docker容器添加local標籤;

  • 接下來配置好需要構建項目的倉庫地址,這裏使用了mall項目的倉庫地址;

  • 接下來進行構建流程的配置,使用如下腳本進行mall-admin模塊的構建,產物目錄為/mall-admin/target/mall-admin-1.0-SNAPSHOT.jar
# 基礎鏡像,目前支持ubuntu-latest、ubuntu-git
runsOn: ubuntu-latest
# 指定使用Docker環境的標籤
fromTag: local
# 指定構建的步驟,目前支持的uses插件有java、maven、node、go、python3、gradle
steps:
  - uses: java
    version: 8
  - uses: maven
    version: 3.8.8
  # 將容器中的maven倉庫文件緩存到docker卷中
  - uses: cache
    path: /root/.m2
  # 只install mall-common,mall-mbg,mall-security三個模塊
  - run: cd ${JPOM_WORKING_DIR} && mvn clean install -pl mall-common,mall-mbg,mall-security -am
  # 單獨構建並打包mall-admin模塊
  - run: cd ${JPOM_WORKING_DIR}/mall-admin/ && mvn clean package

  • 接下來進行發佈操作的配置,配置為SSH,發佈完成後執行/mydata/sh/mall-admin.sh腳本啓動mall-admin容器;

  • mall項目的容器啓動腳本在項目的document/sh目錄下;

  • 項目構建配置好之後就可以點擊構建按鈕進行構建了,構建過程中會自動下載項目的依賴;

  • 構建完成後我們就可以訪問到mall-admin服務的API文檔了,訪問地址:http://192.168.3.101:8080/swagger-ui/

  • 接下來我們來部署mall-portal模塊,複製一個mall-admin模塊的構建,修改下構建流程中的腳本;

  • 然後修改發佈操作中的發佈後命令即可,mall-search模塊的構建配置也一樣;

  • 後端服務部署完畢後,我們可以把mall項目的後台管理系統的前端運行起來看下效果;

  • 然後把前台商城系統的前端運行起來看下效果,使用下功能可以發現後端服務是正常運行的。

總結

今天主要帶大家使用Jpom實現了mall項目的自動化部署,通過這個過程我們可以發現Jpom對於國人來説比Jenkins更加易用,功能也很強大!

項目地址

https://gitee.com/dromara/Jpom

user avatar motianlun_5d0766992e67a 头像 bytebase 头像 lyflexi 头像 linybjikezhilu 头像 yinguan_chen 头像
点赞 5 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.